我想根据 a 的值进行预处理器定义typedef
。
这个想法是检查index_type_t
并生成适当的INDEX_TYPE_GL
定义。
以下内容无法按预期工作。
typedef uint32_t index_type_t;
#ifdef INDEX_TYPE_GL
#undef INDEX_TYPE_GL
#endif
#if (index_type_t == uint8_t)
#define INDEX_TYPE_GL GL_UNSIGNED_BYTE
#elif (index_type_t == uint32_t)
#define INDEX_TYPE_GL GL_UNSIGNED_INT
#elif (index_type_t == uint16_t)
#deine INDEX_TYPE_GL GL_UNSIGNED_SHORT
#endif
请注意uint8_t
,uint16_t
和在其他地方uint32_t
是分开的typdefs
, that GL_UNSIGNED_BYTE
etc. 是整数值,而不是类型。