更改函数声明后对函数的未定义引用

undefined reference to function after changing function declaration

本文关键字:函数 未定义 引用 声明      更新时间:2023-10-16

我有一个文件bridge.h,其中包含一个函数声明:

int getDisplayPt();

我还有一个.cpp文件,它调用以下函数:

int b = getDisplayPt();

它的构建和链接都很漂亮。

现在我需要更改函数。新的声明是:

int getDisplayPt(bool*);

在.cpp文件中:

bool result;
int b = getDisplayPt(&result);

现在我得到一个错误"对`getDisplayPt(bool*)'的未定义引用"

我想可能是文件链接不正确,函数调用了其他类。所以我把.cpp文件改回:

int b = getDisplayPt();

现在我得到了这个:

错误:函数"int getDisplayPt(bool*)"的参数太少

所以我相信.cpp确实在调用我以为它在调用的函数。但为什么我的代码不链接??

谢谢。。。

您已经更改了头和调用代码。您还需要更改getDisplayPt函数的定义。

看起来您要么从未定义过getDisplayPt(),要么没有更新定义它的文件。