はじめまして。Natohです。
this->textBox->Text += 1; とすると、
__gc ポインタ 'System::String __gc *' に大してポインタ演算ができません。というエラーがでます。
最近はじめたばかりなので、意味不明です。
どなたかわかるかたおられましたら、よろしくです。
環境:WinXP Home SP2 言語:VC++ .NET 2003
> this->textBox->Text += 1; とすると、
this->textBox->Text は文字列型(System::String*型)です。
ところが 1 は数値型ですので、型が違う足し算が出来ないようになっているようです。
this->textBox->Textの文字列が数値のみで出来ているならば、
一度それを数値に変換し、+1してから、再度文字列に変換して設定してあげると出来そうです。
// 文字列を数値に変換し+1
System::Int32* n = System::Int32::Parse( this->textBox->Text ) + 1;
// 数値も文字列に変換
this->textBox->Text = n->ToString();
※実行していない(というか実行環境がない)のであっている保障はないですが、大体こんな感じです。
ありがとうございました。
String型になっているのはわかったのですが、
Stringをint型にする方法がわからなくて・・・
自分で調べたいのですが、検索ワードがわからなくて・・・
VC++ .NETの書籍も少ないので、どうしようかと思っていました。
GotDotNetのhttp://www.gotdotnet.com/japan/student/column/firststep/firststep7.aspx
で勉強しています。VC#.NETを使ってありますが・・・。
本当に、ありがとうございました。
解決ボタンを押し忘れました。
申し訳ありません。
> GotDotNetのhttp://www.gotdotnet.com/japan/student/column/firststep/firststep7.aspx
では、System::Convert::ToInt32を使っているようですが。。。
MSDNでC#の関数を調べると、C++ではどう書くのかたまにサンプルが乗っています。
System::Convert::ToInt32(String)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemConvertClassToInt32Topic13.asp
System::Int32::Parse(String)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemInt32ClassParseTopic1.asp
それは知りませんでした。
> MSDNでC#の関数を調べると、C++ではどう書くのかたまにサンプルが乗っています。
そうなんですか。
MSDN,すごいですね。
本当に、ありがとうございます!
ツイート | ![]() |