2011-08-02 29 views
2
String* response_Page=""; 
std::string http_Response; 

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

response_Page = gcnew System::String(respstring); 

C#で使用する管理対象C++/CLI dllを作成しようとしていますが、これは本当に複雑であり、検索するだけで多くの情報を得ることができません。C++ CLIのgcnew宣言されていない識別子

アップデート:私は共通言語ランタイムサポート、古い構文(/ clr:oldSyntax)を使用しています:エラーC2065:

をエラーを取得する 'gcnew':宣言されていない識別子

答えて

4

エラーは、/ clr:oldSyntaxコンパイラオプションで新しいスタイルの管理対象C++構文を使用することによって発生します。古いスタイルの構文を使用するか、新しいスタイル構文を使用し、oldSyntaxフラグは使用しないでください。

oldSyntaxフラグを使用する唯一の理由は、従来のコードを維持する場合です。その1つの理由以外に、古い構文を避けてください、それはおかしくありませんでした。

+0

新しいスタイルのC#で使用できる管理されたdllを作成することは可能ですか?構文: –

+0

@ミラン:確かに可能です。 .NetランタイムのバージョンがDLLとアプリケーションの間で互換性がある必要があることを忘れないでください。 – Skizz

1

あなたが使用する必要がありますgcnewを使うには*の代わりに^を使います。アンマネージポインタが必要な場合は、* with new with

String^ response_Page=""; 

また、そこには多くのC++/CLIの書籍があります。 1つを得ることを検討する必要があります。 eBook形式が利用可能です。 http://manning.com/http://www.apress.com/

  • C++/CLIのアクション(マニング)
  • C++/CLIでの.NETのVisual C++言語(プレスカンファレンス)
  • プロのVisual C++/CLIおよび.NET 2.0プラットフォーム(プレスカンファレンス)
  • エキスパートのVisual C++/CLI:.NET 3.5のVisual C++言語(プレスカンファレンス)
  • プロのVisual C++/CLIおよび.NET:ビジュアルC++プログラマのための.NET(プレスカンファレンス)C++/CLIの
  • 基礎3.5プラットフォーム(Apress)
+1

これは/ oldSyntaxを使用しないことを意味します:) – leppie

関連する問題