2013-09-24 35 views
0

在使用c_str()函數將其轉換爲const引用之前,我無法使用[]運算符指向wstring對象。在指向wstring的指針上使用[]運算符訪問元素

在我的程序getwString()返回一個指向wstring

這是工作:

`if(obj->getwString()->c_str()[5]!='H')` 

這不是:

`if(obj->getwString()->[5]!='H')` 

我怎樣才能取消對它的引用,而不是使用c_str()功能需求幫助

+0

您應該將它與寬字符進行比較,可能不應該首先從該函數返回指針。 – chris

+0

'if(obj-> getwString() - > operator [](5)!= L'H') – jrok

回答

1

還有除了->另一引用操作對於像這樣的情況下,*操作:

std::wstring * ptr = obj->getwString(); 
(*ptr)[5]; 

或者乾脆

(*obj->getwString())[5]; 
+0

非常感謝,我把星號放在別的地方。 –

1

如果你真的想訪問這種方式,你可以像這樣做:

if(obj->getwString()-> operator [](5) != 'H'),但這不是很漂亮。