2013-05-04 43 views
0

這是C++錯誤上String.IsNullOrEmpty(S))

List<String^> ^GetCodecs() 
{ 
    List<String^> ^l = gcnew List<String^>; 

    String ^s = gcnew String(Encoder_GetFirstCodecName()); 
    while (!String.IsNullOrEmpty(s)) 
    { 
     l->Add(s); 
     s = gcnew String(Encoder_GetNextCodecName()); 
    } 

    return l; 
} 

的錯誤是在該行上的代碼:

while (!String.IsNullOrEmpty(s)) 

在字符串

錯誤/ s全部關於字符串:

這是一個警告:

Warning 1 warning C4832: token '.' is illegal after UDT 'System::String' 

的錯誤:

Error 2 error C2275: 'System::String' : illegal use of this type as an expression 
Error 3 error C2228: left of '.IsNullOrEmpty' must have class/struct/union 
Error 4 error C1903: unable to recover from previous error(s); stopping compilation 
Error 5 IntelliSense: type name is not allowed 

我怎樣才能解決這些問題?

回答

2

由於IsNullOrEmpty是靜態函數,你可能必須使用::操作者調用它:

while (!String::IsNullOrEmpty(s)) 
相關問題