最終更新: whiteflare503 2013年10月03日(木) 15:59:47履歴
- gccではコンパイルできたのにVC++だとコンパイルできない(配列)
//例1 int array1[]; //→ コンパイルエラー int array2[][]; //→ コンパイルエラー int array3[][][]; //→ コンパイルエラー int array4[][][][][]; //→ コンパイルエラー /* error C2133: 'array1' : サイズが不明です。 error C2087: 'array2' : 添字がありません。 error C2133: 'array2' : サイズが不明です。 error C2087: 'array3' : 添字がありません。 error C2087: 'array3' : 添字がありません。 error C2133: 'array3' : サイズが不明です。 error C2087: 'array4' : 添字がありません。 error C2087: 'array4' : 添字がありません。 error C2087: 'array4' : 添字がありません。 error C2087: 'array4' : 添字がありません。 error C2133: 'array4' : サイズが不明です。 */
*///例2 int idx1, idx2, idx3,idx4; int array1[idx1]; //→コンパイルエラー int array2[idx1][idx2]; //→コンパイルエラー int array3[idx1][idx2][idx3]; //→コンパイルエラー int array4[idx1][idx2][idx3][idx4]; //→コンパイルエラー /* error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2133: 'array1' : サイズが不明です。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array2' : 添字がありません。 error C2133: 'array2' : サイズが不明です。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array3' : 添字がありません。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array3' : 添字がありません。 error C2133: 'array3' : サイズが不明です。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array4' : 添字がありません。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array4' : 添字がありません。 error C2057: 定数式が必要です。 error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。 error C2087: 'array4' : 添字がありません。 error C2133: 'array4' : サイズが不明です。 */
- 解決方法
https://gist.github.com/pogin503/2225874/raw/68b94...
2.vectorを使う
https://gist.github.com/raw/2225874/af677890c79085...
- 参考サイト
C/C++でポインタによる多次元配列を連続したメモリ領域に作成する
C++での多次元配列の動的(実行時)生成と削除-Ryota’s Research Diary- ←のリンクにはmallocの多次元配列のやり方も載ってる
C++ STL (Standard Template Library) Tutorial and Examples
C++での多次元配列の動的確保と開放
COM: コンポーネント オブジェクト モデル。オブジェクト指向プログラミング モデルの 1 つ
例
C による COM オブジェクトへのアクセス
COMオブジェクト
COMオブジェクトの使い方
Dr.GUI Dr. GUI Online : COMの詳しい説明などいろいろ載ってる。でも記事は古い。
MsoShapeType 列挙型
例
IDirectPlay8Peer::Initialize メソッドを呼び出す(C++) | g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 ); |
C で同じメソッドを呼び出す | g_pDP->lpVtbl->Initialize(g_pDP,NULL, DirectPlayMessageHandler, 0); |
COMオブジェクト
COMオブジェクトの使い方
Dr.GUI Dr. GUI Online : COMの詳しい説明などいろいろ載ってる。でも記事は古い。
MsoShapeType 列挙型
- メモリの節約
- スワップの減少
- ディスク領域の節約
- アップグレードの簡便化
- 製品化後のサポートの提供
- MFC ライブラリ クラスを拡張する機構の提供
- 多言語プログラムのサポート
- 各国対応バージョン作成の容易化
タグ
コメントをかく