0

我想将用户选择的目录路径复制到标签(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 函数的结果,以便我可以在标签中显示它?

4

1 回答 1

2

的返回值SelectDirectory是 a bool,而不是 a StringAnsiString没有任何值的构造bool函数,但它确实具有charshort值的构造函数,这两个 abool都可以隐式转换为,因此存在歧义。试试这个代码:

AnsiString selectedDir;

if(SelectDirectory("Select a folder:", "", selectedDir))
{
    Label->Caption = selectedDir;
}
于 2013-10-04T18:16:57.247 回答