2009-04-08 13 views
0

Visual C++ 2008を使用しています。初めてC#からクロスオーバーを試してみました。私はスマートブロックや多少の色のようなものを除いて、基本設定をあまり変更していません。私はレベル0のC++知識を持っているので、私が行ったすべてのグーグルリングは私の頭の上にあります。C++ Intellisenseとエラーチェックの問題

問題のパート1 私の問題は、最初のウィンドウフォームプロジェクトを作成したことです。今すぐダブルクリックしてこのようなことになると、インテリセンスにはメンバーが一人もいませんか?私はMessageBox::に入力した場合

private: System::Void executeDocumentationCmd_Click(System::Object^ sender, System::EventArgs^ e) 
{ 
this. NOTHING POPS UP? 
} 

、それはShowのためのインテリセンスがポップアップします。これは正常ですか?私はそれが利用可能なtxtボックスとメンバーをリストさせるための基本を学んでいるので役に立ちますが、C#intellisenseのようにはできません。

私はstdafx.hを持っています。私はオンラインヘルプごとにncbファイルを削除し、何も再起動しませんでした。追加ヘッダー?

問題の第2部:C#編集のようにリアルタイムコーディングで下線付きのエラーはありません。これはC++で表現している機能です(コンパイル前にエラーをチェックしています)?間違った情報を入力すると、警告やエラーが表示されることはありません。 C++で

答えて

2

thisはまた、VS2008でC++のためのインテリセンスは、C#ほど有用ではない、これはエラーチェックを持たない含ま->によって間接参照されるポインタない.

あります。 VS2010はC++のインラインエラーチェックを導入します。

C#とC++の間には、注意が必要な大きな違いがいくつかあります。これは大きな話題なので、ここでは投稿を要約することはできませんが、ガベージコレクション(deleteキーワードの検索)とポインタの欠如が重要な点です。ポインタはC#に存在しますが、それらはunsafeコードブロックでしか使用できませんが、C++ではポインターはほぼ王様です。あなたは学習に役立つ本に投資したいかもしれません。

+0

oh!私はかなり愚かな気がします、私はあなたの矢印記号をやった瞬間、intellisenseがポップアップ...エラーチェックのために..私はそれを見つけることができなかったのも不思議ではありません!笑。私に新しい。どのようなアイデアを表現する2010年のC + +のリリースが出るだろうか? – SheldonH

+0

私はちょうどC#の "中間"レベルでクラスを取りました...そして、C++が私のエネルギーに集中したいと思ったところで、その後C#に戻ってきました(あるいは、側で学び続けています)...私は、今のところ、私は単純な文字列関数を使って少し気になるようにしていました。ありがとう! – SheldonH

+0

大歓迎です。あなたがこのステップをとることを決めたことは素晴らしいことです。 C++は非常に強力な言語であり、非常に難しいかもしれませんが、C++を勉強すればC#の仕事はより豊かになり、Windowsの理解はより良くなります。 –

0

歴史上、C++はCと互換性があるように特別に設計されていますが、C#とJavaは互換性がありません。 1つの結果として、C++は解析が難しいため、C++の場合よりもC++のインテリセンスな作業を行うことは難しくなります。私はそれが薄れていると思うし、VS 2010でより良いことを願っています。

また、CとC++はほとんどの言語よりも変数とポインタの区別がはるかにあります。私はC#に精通していませんが、JavaやCommon Lispのような言語では、ほとんどすべてがポインタなので特別な表記はありません。私がPascalを使って作業したとき、ポインタを使って実行されたことはほとんどありませんでした。 CとC++は私が最も混乱する可能性のある言語です。また、ポインタの算術演算も可能です。これが非常に多くのバグの原因です。

私は、どの言語もC++に触れようとすると本当に良いとは思いません。私は、あなたがC++に興味がある限り、新しい言語であるかのように学ぶことをお勧めします。良い近代的な紹介を得る。

1

参考までに、あなたのコードスニペットによれば、実際にはC++ではなく、別の言語であるC++/CLIを使用しています。

+0

ok ....私はちょうどこれを読んで、Googleでそれを発見しました...レビューはcliバージョンの否定的なようです。私はいくつかのゲーム開発で私の手を試すことを計画しているので、.netフレームワークから自分自身を取り除きたいと思います。 .netframeworkなしで? – SheldonH

+0

また、.netフレームワークなしでウィンドウフォームアプリケーションを開発することは非常に困難ですか? C#ははるかに簡単に離れてから迷うことがあります。ネットは難しいようです – SheldonH

+0

この議論を見て、あなたの心を作ってください(もし可能なら):http://stackoverflow.com/questions/115045/good-c-gui-library-窓用 –