'this'指针出错

时间:2010-09-28 16:17:45

标签: c++ pointers this

我在自定义类中遇到此指针的问题。我的代码如下所示。

class Foo{
   public:  void bar();  bool baz();
};

bool Foo::baz(){
   return true;
}
void Foo::bar(){
   bool is_baz = (*this).baz();
}

正如我上面所说,我相信我得到的错误(LNK2019)来自于此。我认为它正在寻找一个它找不到的不同文件中的函数。有什么方法可以使这个代码工作,或者我是否必须使用某种解决方法?如果是这样,我该怎么做才能解决这个问题。谢谢。

2 个答案:

答案 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的重点是什么?