- ベストアンサー
Visual C++2010 ExpressでのToString()メソッドについて
- Visual C++2010 ExpressでのToString()メソッドについての説明と、ビルドエラーの原因について解説
- ポインタの学習に関する講座で、(*a).ToString()というコードの意味や記述方法についての疑問
- クラス、構造体、共用体に関する(*)の使い方と、ToString()メソッドへのアクセス方法についての解説
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なるほど、やはりそのサイトでしたか。 「初心者のための世界で一番わかりやすいVC++ (C++) 入門基礎講座」の内容は実際には(2)だけでなく(3)の内容も含んでいます。 それとフォームアプリの構築方法自体がC++/CLIの.NETライブラリを使ったものになっていますので純粋なC++では無いことはご理解下さい。これが通用しないC++の世界が沢山あります。 ご質問の件のToString();メソッドは、C++/CLIのメソッドですのでそちらを勉強されれば理解できると思います。それと今回の問題は.を使ったメンバ参照と*では.のほうが優先順位が高いために起こったエラーです。 つまり、*a.ToString();は*(a.ToString());と同じ意味になります。ポインタに.を付ける文法は存在しないしませんので->じゃないからエラーと解釈されたって事ですね。 純粋なC++の学習ならこちらをどうぞ。 「ロベールのC++教室」 http://www7b.biglobe.ne.jp/~robe/cpphtml/ VisualC++自体にもC++/CLI以外に純粋なC++は搭載されていますので、プロジェクト作成時にWin32コンソールアプリ等を選べば純粋なC++アプリを作成できます。
その他の回答 (2)
- siffon9
- ベストアンサー率64% (136/211)
1+2*3を計算するときは、2*3から先に計算しますよね。 じゃあ1+2を先に計算したい場合はどう書くかというと(1+2)*3と括弧で囲んで優先して計算するように書きます。 それと同じことだと思います。 aはポインタ変数でクラス、構造体、共用体ではありませんよね。
- zwi
- ベストアンサー率56% (730/1282)
サイトをどこか明かしてくれた方が良いと思います。 学習しているのは (1)C言語 (2)C++ (3)C++/CLI のどれのつもりなだろうってのも気になる所。 純粋なC言語のつもりなら、そこのサイトは止めておきなさいって感じ。 C++/CLIでわざわざポインタを勉強する意味もわからない。 「【C++/CLI】数値の書式(フォーマット)指定文字列 画像処理ソリューション」 http://imagingsolution.blog107.fc2.com/blog-entry-118.html
補足
説明が足らず、申し訳有りません。サイトは「初心者のための世界で一番わかりやすいVC++ (C++) 入門基礎講座」で「HP管理人 栃木県立那須拓陽高等学校教諭 佐藤 勝一」とありました。Microsoft提供のVisualC++2010 Expressを使った講座で、その中の「第6講 ポインタの学習」からの質問となりました。学習しているにはC++です。
お礼
再度の回答を、有難うございました。大変解りやすい説明で感謝致します。 今後もお世話になる事があると思います。その節は宜しくお願い致します。