我试图在网上找到解决问题的方法,但没有成功。我认为我的问题可能与链接有关。
我有 3 个文件,scanner.h
我已经尽我所能修剪了这些文件。scanner.cpp
scanner_test.h
扫描仪.h
class Scanner {
public:
Token *scan (const char *);
};
扫描仪.cpp
#include "scanner.h"
Token scan(const char *text){
// Do something code
}
扫描仪测试.h
#include "scanner.h"
Scanner *s ;
void test_setup_code ( ) {
s = new Scanner() ;
}
Token *tks = s->scan ( text ) ; //This line gives the error
我尝试编译和运行时的错误来自scanner_test.hundefined reference to `Scanner::scan(char const*)
这是我对代码的理解:
scanner_test.h
包括在编译期间scanner.h
链接到的文件,scanner.cpp
并且该文件具有以下定义Scanner::scan(char const*)