Emacsのメモとか気になったことをメモしておく。

配列を使うには

  • 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' : サイズが不明です。
*/


  • 解決方法
1.new で動的配列を使う
https://gist.github.com/pogin503/2225874/raw/68b94...

2.vectorを使う
https://gist.github.com/raw/2225874/af677890c79085...
  • 参考サイト
2.8 動的配列 (1999/04/10 初版)
C/C++でポインタによる多次元配列を連続したメモリ領域に作成する
C++での多次元配列の動的(実行時)生成と削除-Ryota’s Research Diary- ←のリンクにはmallocの多次元配列のやり方も載ってる

C++ STL (Standard Template Library) Tutorial and Examples
C++での多次元配列の動的確保と開放

COM

COM: コンポーネント オブジェクト モデル。オブジェクト指向プログラミング モデルの 1 つ
IDirectPlay8Peer::Initialize メソッドを呼び出す(C++)g_pDP->Initialize( NULL, DirectPlayMessageHandler, 0 );
C で同じメソッドを呼び出すg_pDP->lpVtbl->Initialize(g_pDP,NULL, DirectPlayMessageHandler, 0);
C による COM オブジェクトへのアクセス
COMオブジェクト
COMオブジェクトの使い方
Dr.GUI Dr. GUI Online : COMの詳しい説明などいろいろ載ってる。でも記事は古い。
MsoShapeType 列挙型

PowerPoint

パワーポイントでの開発のリファレンス

DLL

利点

  • メモリの節約
  • スワップの減少
  • ディスク領域の節約
  • アップグレードの簡便化
  • 製品化後のサポートの提供
  • MFC ライブラリ クラスを拡張する機構の提供
  • 多言語プログラムのサポート
  • 各国対応バージョン作成の容易化

欠点

ファイル入出力

  • ifstream
Input/Output with files - とてもわかりやすいソースが載ってる。古いブログよりもこっちを参考にしたほうがいい。
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

フリーエリア




編集にはIDが必要です