C# C++;CLI GCN新的未声明标识符 我试图创建一个C++中使用的托管C++/CLI DLL,C++语言,它非常复杂,不能通过搜索得到很多信息。

C# C++;CLI GCN新的未声明标识符 我试图创建一个C++中使用的托管C++/CLI DLL,C++语言,它非常复杂,不能通过搜索得到很多信息。,c#,windows,c++-cli,managed,C#,Windows,C++ Cli,Managed,更新:我正在使用公共语言运行时支持,旧语法(/clr:oldSyntax) 获取错误:错误C2065:'gcnew':未声明的标识符要使用gcnew,您需要使用^而不是*。如果需要非托管指针,请将*与new一起使用 String* response_Page=""; std::string http_Response; //WinHttp Request //http_Response append (pszOutBuffer); response_Page = gcnew System::

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


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

要使用gcnew,您需要使用^而不是*。如果需要非托管指针,请将*与new一起使用

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

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

response_Page = gcnew System::String(respstring);
此外,还有很多C++/CLI书籍;你应该考虑买一个。电子书格式可用。及

  • C++/CLI正在运行(人员配备)
  • C++ +CLI的.NET C++语言(ASPESS)< /LI>
  • Pro Visual C++/CLI和.NET 2.0平台(Apress)
  • Visual C++程序员(Apress)的专家Visual C++/CLI:.NET < C++基础/CLI:.NET 3.5(Apress)< /LI>的Visual C++语言
  • Pro Visual C++/CLI和.NET 3.5平台(Apress)

错误是由于使用/CLC:OLDFrice编译器选项使用新的托管C++语法。使用旧样式语法或使用新样式语法,但不要使用oldSyntax标志


使用oldSyntax标志的唯一原因是如果您正在维护旧代码。除了这一个原因,避免使用旧的语法,这是令人讨厌的。

这意味着不使用/oldSyntax:)是否可以创建可以在c中以新样式使用的托管dllSyntax@Milan:是的,当然有可能。不要忘记.Net运行时的版本需要在DLL和应用程序之间兼容。
String^ response_Page="";