帮我解释一下这mfc错误好吗

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:13:18
1>dialogView.obj : error LNK2001: unresolved external symbol "private: long __thiscall CdialogView::OnGoodbye(unsigned int,long)" (?OnGoodbye@CdialogView@@AAEJIJ

有很多可能性,比如,cpp文件中没有写出该函数具体实现,就像一楼说的那样;或者在该函数的实现代码前面的某一个函数少一个{(或}),或者多一个{ (或者});或者写该函数的实现代码时没有在函数名前加Long ;另外还有一种情况,就是在类中定义该函数时有其他属性,如const,但是在写实现代码时没有著名const。
可能还有其他可能,总之从该函数的实现代码处开始找,只需要往前找,如果该错误前还有其他错误的话,可能这个错误是由前一个错误引起的。自己慢慢分析吧。

OnGoodbye这个函数没实现体。

你找个cpp文件,添加一个
long CdialogView::OnGoodbye(unsigned int a, long b)
{
return 0;
}
的空函数实现体,应该可以消除这个问题。

问题出在CdialogView::OnGoodbye的使用上,你看看你有没有在外部调用这个私有函数?

在我看来,
可能函数OnGoodbye()
没有用public界定,
C++中,没有pubic界定,会被认为是private
你引用了,编译器会报错你引用了一个private函数