首页 > 解决方案 > 无法将参数 1 从 'System::IO::StreamWriter ^' 转换为 Windows 形式的 'System::IO::Stream ^

问题描述

这是我的代码,我似乎无法在我的文件中写入数据。

StreamWriter sw = gcnew StreamWriter(Application::StartupPath + "\\Employee\\" +""+NameE->Text + "" +NumberE->Text + "" +EmailE->Text + ".txt" , true);//Path to write .txt file

    sw.WriteLine(label1->Text + " " + NameE->Text);
    sw.WriteLine(label2->Text + " " + NumberE->Text);
    sw.WriteLine(label3->Text + " " + EmailE->Text);
    sw.Close();

我不断收到此错误

严重性代码描述项目文件行抑制状态错误 C2664
'System::IO::StreamWriter::StreamWriter(const System::IO::StreamWriter %)':无法将参数 1 从 'System::IO::StreamWriter ^' 转换为'系统::IO::流^'t

标签: c++-cli

解决方案


StreamWriter sw = gcnew StreamWriter(...);

gcnew返回托管引用。这类似于 C++,其中new返回一个指针。在 C++ 中,您可以使用*:来指定指针MyType* foo = new MyType(...)。在 C++/CLI 中,您可以使用^.

StreamWriter^ sw = gcnew StreamWriter(...);
//          ^-- Right here.

推荐阅读