Se il tipo Trave compare solo nel costruttore della classe Materiale, devi spostare la sua implementazione dal corpo della classe in un file Cpp separato, che includerà entrambi i file header. Fatto questo, puoi semplicemente effettuare una forward declaration del tipo Trave nel file Materiale.h.
codice:
// File Trave.h
#ifndef trave_h
#define trave_h

#include "materiale.h"

class Trave {
   public:
   double RH;
   Materiale m;

   ...
};
#endif

// File Materiale.h 

#ifndef materiale_h
#define materiale_h

class Trave;
namespace CA {
   class Materiale {
       ....
       double f(double par1, double par2, Trave &t);
    };
}
#endif

// File Materiale.cpp
#include trave.h
#include materiale.h
double CA::Materiale::f(double par1, double par2, Trave &t) {
   // implementazione.
}