2011-06-03 93 views
2

當我做:std :: string ==不工作?

std::string name = targetBone->getName(); 
    if(name == "Pelvis") 
    { 
     return; 
    } 

我得到:

Error 1 error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::string' (or there is no acceptable conversion)

如何解決這個問題?

感謝

+0

需要更多信息。在這個例子中一切正常。見http://ideone.com/nHdt2 – 2011-06-03 00:22:38

+0

你是否在Windows環境中使用它? – liaK 2011-06-03 05:23:45

回答

6

你有沒有在你的CPP文件中包含字符串

#include <string> 

這通常是因爲編譯器需要看到的是駐留在包含文件string類的定義,以確認它的確聲明運營商,需要一個的char *

+0

謝謝,就是這樣 – jmasterx 2011-06-03 00:21:41

0

你可能缺少

#include <string> 

此外,爲了比較字符串,應該使用strcmp()內置函數,而不是僅使用運算符。

相關問題