C ++ CLI gcnew未声明的标识符

时间:2011-08-02 08:39:47

标签: c# windows c++-cli managed

String* response_Page="";
std::string http_Response;

//WinHttp Request
//http_Response append (pszOutBuffer);

response_Page = gcnew System::String(respstring);

我正在尝试创建一个托管的C ++ / CLI dll,用于c#,C ++的新手,它非常复杂,只能通过搜索获得更多信息。

更新:我正在使用公共语言运行时支持,旧语法(/ clr:oldSyntax)

获取错误:错误C2065:'gcnew':未声明的标识符

2 个答案:

答案 0 :(得分:4)

使用带有/ clr:oldSyntax编译器选项的新样式托管C ++语法导致该错误。使用旧样式语法或使用新样式语法,不要使用oldSyntax标志。

使用oldSyntax标志的唯一原因是您要维护遗留代码。除了这个原因,避免使用旧语法,这很令人讨厌。

答案 1 :(得分:1)

您需要使用^而不是*来使用gcnew。如果您需要非托管指针,请使用* with new

String^ response_Page="";

此外,还有很多C ++ / CLI书籍;你应该考虑买一个。电子书格式可用。 http://manning.com/http://www.apress.com/

  • C ++ / CLI in Action(Manning)
  • C ++ / CLI .NET的Visual C ++语言(Apress)
  • Pro Visual C ++ / CLI和.NET 2.0平台(Apress)
  • 专家Visual C ++ / CLI:用于Visual C ++程序员的.NET(Apress)
  • C ++ / CLI的基础:.NET 3.5的Visual C ++语言(Apress)
  • Pro Visual C ++ / CLI和.NET 3.5平台(Apress)