私が機能を持っているので同じように宣言:C++テンプレート、未定義の参照
template <typename T>
T read();
などのように定義された:
template <typename T>
T packetreader::read() {
offset += sizeof(T);
return *(T*)(buf+offset-sizeof(T));
}
しかし、私は私のmain()関数でそれを使用しようとすると:
packetreader reader;
reader.read<int>();
は私が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
誰でも正しい方向に向けることができますか?
可能重複テンプレート関数を宣言し、実装されている一般的な方法を知っているように、文字列(GCC)で使用される場合、テンプレートとして機能するように未定義の参照](HTTP:// stackoverflowの。com/questions/614233/undefined-function-template-with-string-gccの使用時) – outis