3
トークンペーストを使用して、Cで単純な汎用構造体を定義しようとしています。例は以下である: - 私の理解トークンペーストが原因PARAMATERSの埋め込みにライン2及び5に必要であり、反対の理由ライン4上の必要はないに汎用構造体のトークンペースト
#define VECTOR(type, dimension, name) \
typedef struct Vector_##type{ \
type data[##dimension##]; \
int dim = dimension; \
}##name##;
VECTOR(int, 3, Vector3i)
。私は上記の簡単な例として、私の理解では何かが欠けているように見えるしかし
は、次のエラーが発生します - 上記のエラーを考える
pasting formed '[3', an invalid preprocessing token VECTOR(int, 3, Vector3i)
pasting formed '3]', an invalid preprocessing token VECTOR(int, 3, Vector3i)
expected member name or ';' after declaration specifiers
VECTOR(int, 3, Vector3i)
~~~~~~~~~~~~^~~~~~~~~~~~
、何が私が見逃していると一般的な定義するための適切な方法は何ですか純粋なCの構造?
'int dim = dim;'はうまくいきません。 –
私は投稿後もこれを認識しました。編集されました。 –