平等运算符问题(C ++)

时间:2013-09-14 05:43:59

标签: c++

我收到了错误

  

'MyNestedClassPointer-> MyClass :: MyNestedClass :: NestedVar == s'中的'operator =='不匹配

其中s是对字符串的引用,NestedVar是指向字符串的指针。 违规行代码是一个if语句,比较两者是否相同。

if(thePointer->theVar == s)

我没有重载运算符,但我认为我不应该需要它们,因为这些只是我们正在处理的字符串指针。 现在纠正我,如果我错了,因为我不仅有点生锈,但我不能这样做吗?

1 个答案:

答案 0 :(得分:2)

正如其中一条评论所提到的,比较pointer to string objectstring object的正确语法是取消引用指针。

因此,在您的代码中,它应该是:

if( *thePointer->theVar == s )