C++ C++;-获取对我的类的未定义引用

C++ C++;-获取对我的类的未定义引用,c++,C++,我试图在网上找到解决问题的方法,但没有成功。我想我的问题可能与链接有关 我有3个文件scanner.h,scanner.cpp和scanner\u test.h我已经尽可能地修剪了这些文件 扫描仪.h class Scanner { public: Token *scan (const char *); }; scanner.cpp #include "scanner.h" Token scan(const char *text){ // Do something code } 扫描试验 #

我试图在网上找到解决问题的方法,但没有成功。我想我的问题可能与链接有关

我有3个文件
scanner.h
scanner.cpp
scanner\u test.h
我已经尽可能地修剪了这些文件

扫描仪.h

class Scanner {
public:
Token *scan (const char *);
};
scanner.cpp

#include "scanner.h"
Token scan(const char *text){
// Do something code
}
扫描试验

#include "scanner.h"
Scanner *s ;
void test_setup_code ( ) {
    s = new Scanner() ;
}
Token *tks = s->scan ( text ) ; //This line gives the error 
尝试编译和运行时出现的错误来自scanner_test.h
对`scanner::scan(char const*)的未定义引用

这是我对代码的理解:
scanner\u test.h
包括编译期间链接到
scanner.cpp
scanner.h
文件,该文件具有
scanner::scan(char const*)

的定义,在
scanner.cpp
中,您需要:

Token* Scanner::scan(const char *text) { ... }
//     ^^^^^^^^^
否则,您将实现名为
scan
的免费函数,而不是
Scanner
中的成员方法。(注意,我还添加了您丢失的
*
,但一旦您添加了
扫描仪::
部分,编译器将告诉您这一点)