我想将用户选择的目录路径复制到标签(C ++ Bulder 6.0)

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中显示它?

最佳答案

SelectDirectory的返回值是bool,而不是StringAnsiString没有用于bool值的任何构造函数,但是它确实具有用于charshort值的构造函数,这两个bool都可以隐式转换为它们,因此不明确。请尝试以下代码:

AnsiString selectedDir;

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

10-04 14:15