我在自定义类中遇到此指针的问题。我的代码如下所示。
class Foo{
public: void bar(); bool baz();
};
bool Foo::baz(){
return true;
}
void Foo::bar(){
bool is_baz = (*this).baz();
}
正如我上面所说,我相信我得到的错误(LNK2019)来自于此。我认为它正在寻找一个它找不到的不同文件中的函数。有什么方法可以使这个代码工作,或者我是否必须使用某种解决方法?如果是这样,我该怎么做才能解决这个问题。谢谢。
答案 0 :(得分:6)
class Foo(){
将此更改为
class Foo{
此外,这不应该编译。你是如何设法获得链接错误的?
进行此更改后,链接器显示undefined reference to 'main'
,这意味着您没有main
函数。
答案 1 :(得分:0)
虽然这不是错误,但行
bool is_baz = (*this).baz();
不需要(*this)
部分。它可以简单地写成
bool is_baz = baz();
但是,如果它既未被使用也未被返回,那么计算is_baz
的重点是什么?