토큰 붙여 넣기를 사용하여 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;'작동하지 않습니다. –
게시 한 후에도이 사실을 알게되었습니다. 편집 됨. –