3 Stimmen

C++ CLI gcnew nicht deklarierter Bezeichner

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

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

response_Page = gcnew System::String(respstring);

Ich versuche, eine verwaltete C++/CLI dll in c# verwendet werden, neu zu C++ zu erstellen, es ist wirklich komplex, kann nicht viel Info nur durch die Suche erhalten.

Update: Ich verwende Unterstützung der Common Language Runtime, alte Syntax (/clr:oldSyntax)

Fehler erhalten: Fehler C2065: 'gcnew' : nicht deklarierter Bezeichner

4voto

Skizz Punkte 66931

Der Fehler wird durch die Verwendung der verwalteten C++-Syntax im neuen Stil mit der Compileroption /clr:oldSyntax verursacht. Verwenden Sie entweder die Syntax im alten Stil oder die Syntax im neuen Stil und verwenden Sie das Flag oldSyntax nicht.

Der einzige Grund, das oldSyntax-Flag zu verwenden, ist, wenn Sie Legacy-Code pflegen. Abgesehen von diesem einen Grund, vermeiden Sie die alte Syntax, sie war eklig.

1voto

Carlos Quintanilla Punkte 12057

Sie müssen ^ anstelle von * verwenden, um gcnew zu benutzen. Wenn Sie einen nicht verwalteten Zeiger benötigen, verwenden Sie * mit new

String^ response_Page="";

Außerdem gibt es viele C++/CLI-Bücher; Sie sollten in Erwägung ziehen, sich eines zu besorgen. eBook-Format verfügbar. http://manning.com/ y http://www.apress.com/

  • C++/CLI in Aktion (Manning)
  • C++/CLI Die Sprache Visual C++ für .NET (Apress)
  • Pro Visual C++/CLI und die .NET 2.0-Plattform (Apress)
  • Expert Visual C++/CLI: .NET für Visual C++-Programmierer (Apress)
  • Grundlagen von C++/CLI: Die Sprache Visual C++ für .NET 3.5 (Apress)
  • Pro Visual C++/CLI und die .NET 3.5-Plattform (Apress)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X