簡単に言ってください、私はまだ C/C++ の初心者です.. これが何度か尋ねられたことは知っています。このコードは NetBurner プロセッサ用で、DWORD は符号なし 32 ビット、WORD は符号なし 16 ビットです。
ヘッダー関数.h:
class funcs
{
// ...
private:
void myfunc();
WORD data001;
DWORD data002[100];
DWORD data003[100];
// ...
}
私のクラス funcs.cpp でそのデータを呼び出すこの関数があります。すべての変数が初期化されていると仮定します。
void funcs::myfunc()
{
data001++;
data002[data001] = x; // random x for this example
data003[data001] = y;
}
私のコンパイラは不平を言っています:「エラー: 無効な型 'DWORD[WORD] 配列添字の型」。配列の添え字の型を「int」、「unsigned int」、および考えられる他のすべての型に変更しましたが、それでもエラーが発生します。以前の投稿で与えられた解決策を試しました:
void funcs::myfunc()
{
data001++;
this->data002[data001] = x; // random x for this example
this->data003[data001] = y;
}
しかし、それは無駄でした。クラス内に myfunc 定義を含めようとしましたが、同じエラーです。アイデア/解決策はありますか?私は困惑しています。みんなありがとう!!
編集:ヘッダーファイルで提供されるデータ型:
typedef unsigned char BOOL;
typedef unsigned char BOOLEAN;
typedef unsigned char BYTE; /* Unsigned 8 bit quantity */
typedef signed short SHORT;/* Signed 16 bit quantity */
typedef unsigned short WORD; /* Unsigned 16 bit quantity */
typedef unsigned long DWORD;/* Unsigned 32 bit quantity */
typedef signed long LONG; /* Signed 32 bit quantity */
typedef volatile unsigned char VBOOLEAN;
typedef volatile unsigned char VBYTE; /* Unsigned 8 bit quantity */
typedef volatile short VSHORT; /* Signed 16 bit quantity */
typedef volatile unsigned short VWORD; /* Unsigned 16 bit quantity */
typedef volatile unsigned long VDWORD; /* Unsigned 32 bit quantity */
typedef volatile signed long VLONG; /* Signed 32 bit quantity */
スクリーンショット: