• ベストアンサー

visual C++2008 Express 変数宣言等について

sea_clear_skyです。 質問させて頂きます。 <環境> WindowsXP SP3 VisualC++ 2008 Express 現在、VisualC++ 2008 Expressでプログラムの勉強をしています。 VisualC++ Expressでコンソールアプリケーションじゃなく、 Windowsフォームアプリケーションで、変数の宣言(配列)の仕方と message::showで、変数の値を表示させる方法がわかりません。 C/C++などの、コンソールアプリケーションの方法では エラーがでて、実行できなかったので、 Windowsフォームアプリケーション用の記入の仕方があるのでは ないかと思っています。 初心者なので、わからない状態です。 VC++ 2008 EXPRESS 変数宣言 VC++ 2008 EXPRESS 変数 VC++ 2008 EXPRESS データ型 message;;show vc++ VC++ 2008 リファレンス VC++ 2008 入門 等など、たくさんのキーワードでホームページを 検索しましたが、知りたいことが載っている ホームページを見つけることができませんでした。 参考HPや解決方法について、ご教授お願いします。 すいませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.5

> '0x3000': この文字を識別子で使用することはできません。 は全角スペースなので > sb->AppendLine(myArr[n].ToString ()); ででているのであれば sbの sの手前からその前の行の;の直後までを選択して『Delete』キーで削除 sbのsの直前にキャレット(カーソル)をおいて『Enter』で改行 といった対処をしてみてください

sea_clear
質問者

お礼

間違えて、質問を解答の補足のところに記入してしまいましたので、 回答することができなかったのではないですか、 真に申し訳ございません。 貴重な時間を無駄にさせ申し訳ありません。 時間があるときでいいので、よければ回答ください。

sea_clear
質問者

補足

忙しいところ回答ありがとうございます。 sbの前の全角スペースを削除したら、無事表示されました。 詳しくご指摘頂きありがとうございました。 Message::showや配列宣言関連のサイトをみつけることができず、 最後にすいませんが、教えていただきたいです。 messagebox;;showで表示されるのが、 A,B,Cじゃなく、65,66,67と表示されます。 A,B,Cと表示させるには、どうしたら、よろしいでしょうか? それと、配列なんですが、一文字の配列じゃなく 長い文字列の配列を宣言するときのデータ型は 何にすれば、いいのでしょうか? String ^ ではエラーが表示され、宣言できませんでした。 何卒よろしくおねがいします。 何回も質問し申し訳ありません。

その他の回答 (4)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

'0x3000': この文字を識別子で使用することはできません。 は全角スペースをそのまま貼り付けたからだと思います 'StingBuilder' : 'System::Text' のメンバではありません は StringBuilderのタイプミスです 『r』が抜けたようです '_T': 識別子が見つかりませんでした は _T("Title")を L"Title" にしてください

sea_clear
質問者

お礼

sea_clear_skyです。 何回も回答ありがとうございます。 何回もすいませんが、修正点は変更し、解決しましたが、他のエラーが 次のように、表示されます。 sb->AppendLine(myArr[n].ToString ());の部分で、 次の3つのエラーが表示されます。 1、'0x3000': この文字を識別子で使用することはできません。 2、sb' : 定義されていない識別子です 3、AppendLine' :  左側がクラス、構造体、共用体、ジェネリック型へのポインタで はありません。型は ''unknown-type'' です。 一度、sb->AppendLine(myArr[n].ToString ());の部分と System::Text::StringBuilder ^sb = gcnew System::Text::StringBuilder(); は全部消して、再度、手入力で入力しましたが、エラーが表示されます。まだ、全角の空白が入っているの 時間のあるとき、よろしくお願いします。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

char型の配列ならば array<char>^myArr; と宣言 myArr = gcnew array<char>(20); と確保 myArr[0] = 'A'; myArr[1] = 'B'; myArr[2] = 'C'; System::Text::StingBuilder ^sb = gcnew System::Text::StingBuilder(); for( int n = 0; n < myArr->Length; n++ ) {   sb->AppendLine( myArr[n].ToString() ); } MessageBox::Show( sb->ToString(), _T("Title") ); といった具合でしょう

sea_clear
質問者

お礼

回答ありがとうございます。 忙しいところすいません。 載せて頂いたコードを配列の要素数を3にして、 ビルドしたところ次のエラーがでます。 よろしくお願いします。 必要なものをIncludeかUsingしていないから、 エラーがでてしまうのか、 Expressなので、エラーがでてしまうのか 考えています。 sb->AppendLine( myArr[n].ToString() );の部分が '0x3000': この文字を識別子で使用することはできません。 'StingBuilder' : 'System::Text' のメンバではありません。 error C2065: 'StingBuilder' : 定義されていない識別子です。 'sb' : 定義されていない識別子です。 'StingBuilder' : 'System::Text' のメンバではありません。 ->AppendLine' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。 '->ToString' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。 '_T': 識別子が見つかりませんでした 忙しいところ、すいませんが、時間のあるとき、よろしくお願いします。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

自分で書いてうまく行かなかったコードを補足にどうぞ。

sea_clear
質問者

補足

コードを補足に書かずに申し訳ございません。 回答くださってありがとうございます。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

マネージド配列を使いたいなら arrayクラスを使います array<配列の型> ^変数名; といった宣言をします 配列の確保は 変数名 = gcnew array<配列の型>(要素数); といった具合になります

sea_clear
質問者

お礼

回答ありがとうございます。 配列の型なんですが、文字を使いたいので、charでよろしいでしょうか?

関連するQ&A