VC ++中的构造函数输入错误

时间:2012-04-01 22:43:56

标签: visual-studio-2010 c++-cli

我创建了一个构造函数,如下所示

    Form1(array<System::String ^> ^args)    //HW5
    {
        InitializeComponent();
        //
        //TODO: Add the constructor code here
        //
        if (args->Length==0){
        CregArray = gcnew array<CRegistration^>(100);
        record_number = 0;
        }
        else {

        }
    }

之后我使用一行代码来创建构造函数。基本上,我想使用长度== 0的情况,但编译器说有一个错误。我不明白编译器的意思。

Application::Run(gcnew Form1(""));

错误是“错误1错误C2664:'Project3 :: Form1 :: Form1(cli :: array ^)':无法将参数1从'const char [1]'转换为'cli :: array ^'< / p>

1 个答案:

答案 0 :(得分:2)

您传入的字符串中需要一个字符串数组。 另外,String :: Empty比使用文字空字符串更好。

试试这个:

array<System::String^>^ args = gcnew array<System::String^>(1);
args[0] = String::Empty;
Application::Run(gcnew Form1(args));