3 votes

C++ CLI gcnew identifiant non déclaré

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

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

response_Page = gcnew System::String(respstring);

J'essaie de créer une dll C++/CLI gérée à utiliser en C#. Je suis novice en C++, c'est vraiment complexe, je ne peux pas obtenir beaucoup d'informations en faisant une recherche.

Mise à jour : j'utilise Support du Common Language Runtime, ancienne syntaxe (/clr:oldSyntax)

Obtention d'une erreur : erreur C2065 : 'gcnew' : identifiant non déclaré.

4voto

Skizz Points 30682

L'erreur est causée par l'utilisation de la nouvelle syntaxe C++ gérée avec l'option de compilation /clr:oldSyntax. Il faut soit utiliser l'ancienne syntaxe, soit utiliser la nouvelle syntaxe et ne pas utiliser l'option oldSyntax.

La seule raison d'utiliser l'indicateur oldSyntax est si vous maintenez du code hérité. En dehors de cette seule raison, évitez l'ancienne syntaxe, elle était dégueulasse.

1voto

Carlos Quintanilla Points 5371

Vous devez utiliser ^ au lieu de * pour utiliser gcnew. Si vous avez besoin d'un pointeur non géré, utilisez * avec new.

String^ response_Page="";

De plus, il existe de nombreux livres C++/CLI ; vous devriez envisager d'en acquérir un. Format eBook disponible. http://manning.com/ y http://www.apress.com/

  • C++/CLI en action (Manning)
  • C++/CLI Le langage Visual C++ pour .NET (Apress)
  • Pro Visual C++/CLI et la plate-forme .NET 2.0 (Apress)
  • Expert Visual C++/CLI : .NET pour les programmeurs Visual C++ (Apress)
  • Fondations de C++/CLI : Le langage Visual C++ pour .NET 3.5 (Apress)
  • Pro Visual C++/CLI et la plate-forme .NET 3.5 (Apress)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X