Ich habe eine Funktion wie so erklärt:C++ Vorlagen, undefined reference
template <typename T>
T read();
und definiert wie folgt:
template <typename T>
T packetreader::read() {
offset += sizeof(T);
return *(T*)(buf+offset-sizeof(T));
}
Allerdings, wenn ich versuche, es zu verwenden, in meiner Funktion main():
packetreader reader;
reader.read<int>();
bekomme ich folgende Fehler von g ++:
g++ -o main main.o packet.o
main.o: In function `main':
main.cpp:(.text+0xcc): undefined reference to `int packetreader::read<int>()'
collect2: ld returned 1 exit status
make: *** [main] Error 1
Kann jemand mich in die richtige Richtung?
möglich Duplikat implementieren [undefiniert Referenzvorlage funktionieren, wenn sie mit string (GCC) verwendet] (http: // Stackoverflow.com/questions/614233/undefined-Referenz-zu-Funktion-Vorlage-wenn-verwendet-mit-String-gcc) – outis