2013-10-04 60 views
0

我想複製的目錄路徑,將其通過用戶選擇,以標記(C++製作工具的詳情6.0)轉換 - 錯誤E2015,歧義AnsiString類型(炭)和AnsiString類型(短)之間

Label->Caption=SelectDirectory("Select a folder:", "", RootDir); 

但我收到以下錯誤:

E2015 Ambiguity between '_fastcall System::AnsiString::AnsiString(char)' 
and '_fastcall System::AnsiString::AnsiString(short)' [C++ Error] 

請告訴,如何正確轉換SelectDirectory函數的結果,以便我可以在Label中顯示它?

回答

2

SelectDirectory的返回值是bool,而不是StringAnsiString不具有用於bool值的任何構造,但它確實有用於charshort值,這兩者的bool可以隱式轉換到,因此,模糊性構造。試試這個代碼,而不是:

AnsiString selectedDir; 

if(SelectDirectory("Select a folder:", "", selectedDir)) 
{ 
    Label->Caption = selectedDir; 
}