Viene visualizzato un errore del compilatore quando provo a incorporare un metodo di una delle mie classi. Funziona quando togli la parola chiave "in linea".I metodi di classe di inlining del C++ causano un riferimento non definito
Ecco un esempio semplificato:
main.cpp:
#include "my_class.h"
int main() {
MyClass c;
c.TestMethod();
return 0;
}
my_class.h:
class MyClass {
public:
void TestMethod();
};
my_class.cpp:
#include "my_class.h"
inline void MyClass::TestMethod() {
}
cerco compilazione con:
g++ main.cpp my_class.cpp
ottengo l'errore:
main.cpp:(.text+0xd): undefined reference to `MyClass::TestMethod()'
Tutto va bene se prendo via il "inline". Cosa sta causando questo problema? (e come devo metodi di classe in linea? È possibile?)
Grazie.
Il collegamento conduce alla pagina con "Non si dispone dell'autorizzazione per accedere al file richiesto su questo server". Errore –