- ベストアンサー
C++ Regionについて
C++でRegionを使用したいのですが、コンパイルがとおりません。 フォームロード時に以下コードを実行すると、new Region(recT)でエラーとなります。 RectangleF^ recT = gcnew RectangleF(0, 0, 100, 100); this->Region = new Region(recT); エラーメッセージ error C2061: 構文エラー : 識別子 'Region' アドバイスよろしくお願いいたします。
- tamuhiro1004
- お礼率48% (21/43)
- C・C++・C#
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
どうもクラス名のRegionがうまく認識できていないのかも 当方の VC2005でも同じような現象が発生します また RegionのRectangleFでの構築は refオブジェクトではないので *で実体を与えるか ^をやめるかしましょう RectangleF recT = RectangleF(0,0,100,100); this->Region = gcnew Drawing::Region( recT ); または RectangleF^ recT = gcnew RectangleF(0,0,100,100); this->Region = gcnew Drawing::Region( *recT ); 名前空間Drawing::を一緒に使用するといいようですよ
関連するQ&A
- C# PanelのRegion設定について
ボタンクリックにてPanelのRegion領域を変更したいのですが、勝手にリサイズされて困っております。 panel1の初期Location.X=0,Location.Y=0 のときはうまくいくのですが、初期Locationに値が入ると、矩形領域自体がリサイズされてしまいます。 (矩形領域が小さくなります。) なお、下記コードはテスト様に作成したもので、panel1のサイズを取得して、GraphicsPath からRegionを設定しています。 同じサイズなので、変化はないハズなのですが、初期Locationに値を設定すると、リサイズされてしまいます。 panel1のプロパティは panelのAutoSize=False Dock=None Margin=0,0,0,0 です。 private void button1_Click(object sender, EventArgs e) { Rectangle rect = new Rectangle(panel1.Location.X,panel1.Location.Y, panel1.Width,panel1.Height); GraphicsPath path = GetRoundRect(rect, 10); Graphics g = CreateGraphics(); g.SmoothingMode = SmoothingMode.AntiAlias; panel1.Region = new Region(path); } public GraphicsPath GetRoundRect(Rectangle rect, int radius) { path.StartFigure(); path.AddLine(rect.Left, rect.Top, rect.Right, rect.Top); path.AddLine(rect.Right, rect.Top,rect.Right, rect.Bottom); path.AddLine(rect.Right, rect.Bottom,rect.Left, rect.Bottom); path.AddLine(rect.Left, rect.Bottom,rect.Left, rect.Top); path.CloseFigure(); return path; } アドバイスよろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- Python error C2061: 構文エラー : 識別子 'Py_uintptr_t'
WindowsXPでPython2.6のC Extensionを作ろうとコンパイルすると、 以下のエラーが出ました。 何が悪いのでしょうか? samplemodule.c c:\python26\include\pyport.h(89) : error C2061: 構文エラー : 識別子 'Py_uintptr_t' c:\python26\include\pyport.h(89) : error C2059: 構文エラー : ';' c:\python26\include\pyport.h(90) : error C2061: 構文エラー : 識別子 'Py_intptr_t' c:\python26\include\pyport.h(90) : error C2059: 構文エラー : ';'
- 締切済み
- その他(プログラミング・開発)
- C++ Point構造体について
Point型の配列を作成したいのですが、うまくいきません。 Point^ myArray[] = { gcnew Point(20, 100), gcnew Point(40, 150), gcnew Point(60, 125), gcnew Point(40, 100), gcnew Point(60, 75), gcnew Point(40, 50) }; error C2728: 'System::Drawing::Point ^' : ネイティブ配列はこのマネージ型を含むことはできません となり、コンパイルが通らず、困っています。 アドバイスよろしくお願い致します。
- ベストアンサー
- C・C++・C#
- C++.NETでのOracle埋め込み
C++ 6.0ではOracle埋め込みはEXEC SQL BEGIN DECLARE SECTION;と 定義していたのですがC++.NETでは ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'SQL' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'EXEC' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'BEGIN' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'SQL' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'DECLARE' の前に必要です。 ORA_SUB.cpp(15) : error C2501: 'BEGIN' : 識別名を宣言するのに、型が指定されていません。 ORA_SUB.cpp(15) : error C2146: 構文エラー : ';' が、識別子 'SECTION' の前に必要です。 とエラーになります。 C++.NETでは使い方が違っているのでしょうか? よろしくお願い致します。
- 締切済み
- C・C++・C#
- C++のヘッダーについて
C++のプログラミングをしています そこで出てきた問題なのですが・・・ class Aのヘッダファイルa.hをほかのcppファイルにインクルードすると、 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません error C2146: 構文エラー : ';' が、識別子 'test' の前に必要です。 とほかのヘッダファイルでコンパイルエラーがでます ヘッダファイルをインクルードしたときのみこのエラーがでて困っています。 解決法や、ヒントになりそうな事例を知りませんでしょうか?
- ベストアンサー
- C・C++・C#
- Visual C++ 2008 EEでメッセージ表示
Visual C++ 2008 EEを使用し、以下のコードを組みました。これは1つのフォーム(仮に質問フォームとする)に3つのボタンを作成し、ボタンを押すとそれぞれの3種類の質問項目フォームにいって、質問回答が終わったら再び質問フォームに戻ります。このとき、一度回答した質問項目のボタンは選べないようにしていて、全部の質問に答えた場合(全てのボタンが選べなくなった場合)に「これで質問は終わりです」というようなメッセージを表示したいのですが、方法が分からないのでご教授願います。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->Hide(); Sai500^ cSai500 = gcnew Sai500(); cSai500->gvflnm(this->flnm); cSai500->ShowDialog(); this->button1->Visible = false; this->Show(); } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { this->Hide(); Sai030^ cSai030 = gcnew Sai030(); cSai030->gvflnm(this->flnm); cSai030->ShowDialog(); this->button2->Visible = false; this->Show(); } private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { this->Hide(); Sai040^ cSai040 = gcnew Sai040(); cSai040->gvflnm(this->flnm); cSai040->ShowDialog(); this->button3->Visible = false; this->Show(); }
- ベストアンサー
- C・C++・C#
- C言語、実行でエラー。
いつも大変お世話になり誠にありがとうございます。 標記の件。 shift jifでコンパイルしているのですが コンパイルはお陰様で成功したのですが、 実行でエラーが発生します。 下記にコードとエラーメッセージを書きます。 記 コード #include <stdio.h> int main(void) { printf("8進数101の文字コードをもつ文字は%cです。\n", '\101'); printf("16進数61の文字コードをもつ文字は%cです。\n", '\x61'); return 0; } 実行 C:\MinGW>gcc text4.c -o test4 C:\MinGW>text4.exe 'text4.exe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ご多忙のところ 度々申し訳ございません。 ご回答の程宜しくお願い申し上げます。
- ベストアンサー
- C・C++・C#
- VC++ のエラーについて。
何度もすみません。 今ビルドしたらエラーが。。 環境を教えてくれる人が今日いないのでどうしたらいいのか(T-T) ○○.sqxにSQL文INSERTを追加したのですが、 'EXEC' : 定義されていない識別子です。 error C2146: 構文エラー : ';' が、識別子 'SQL' の前に必要です。 error C2065: 'SQL' : 定義されていない識別子です。 error C2146: 構文エラー : ';' が、識別子 'INSERT' の前に必要です。 error C2065: 'INSERT' : 定義されていない識別子です。 error C2146: 構文エラー : ';' が、識別子 'INTO' の前に必要です。 error C2065: 'INTO' : 定義されていない識別子です。 error C2146: 構文エラー : ';' が、識別子 'TRSS_SM' の前に必要です。 error C2065: 'TRSS_SM' : 定義されていない識別子です。 error C2228: '.FAXSENDINF' : 左側がクラス、構造体、共用体ではありません。 error C2146: 構文エラー : ';' が、識別子 'VALUES' の前に必要です。 error C2065: 'VALUES' : 定義されていない識別子です。 error C2143: 構文エラー : ')' が ':' の前に必要です。 error C2059: 構文エラー : ')' だって、怒られました。 何のことだか?さっぱり? ほかのどこかの影響でしょうか? 何か知っている人お願いします。 Visual Studio 6.0 VC++ Windows2000
- ベストアンサー
- C・C++・C#
- 構造体(study c)
現在、study cというものを使ってプログラミングをしているのですが、 どうしてもエラーの原因が分からないので質問させて頂きます。 #include <graph.h> struct blocks_info { bool enable; RECT bounds; }; main() { ・・・//省略 } このようにプログラムしているのですが、コンパイルすると、構造体の部分のbool enable;の行で、 この場所には;が必要です。とエラーが出ます。 ためしにbool enable;を消してコンパイルしてみると、今度は RECT bounds;の行で同じエラーが出ました。 その部分も消すと、};の行でまた同じエラーが出ました。 どなたかエラーの原因が分かる方いらっしゃいましたらご教授下さい。 よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- cwchar内でエラーが起きます。
C++を勉強しているのですが、コンパイルをすると、 識別子が必要です cwchar C2059 構文エラー: '::' cwchar C2589 'unsigned': スコープ解決演算子 (::) の右側にあるトークンは使えません。 cwchar と、cwchar.h内でエラーが起きてしまいます。コードを絞っていって、最終的に以下のコードでもエラーが起きていました。 #include <iostream> using namespace std; int main(){ cout << "HelloWorld." << endl; return 0; } なぜでしょうか?改善方法を教えていただけると嬉しいです。 環境はVisualStudioCommunity2015 windows10 です。
- ベストアンサー
- C・C++・C#
お礼
アドバイスありがとうございます。 using namespace System::Drawing; としているので、このままでいけると思っていたのですが、 なんだかうまく認識していなかった様ですね。 表記していただいたソースで無事コンパイルできました。 非常に参考になりました。ありがとうございました。