を持っていない私は、次のコードを持っていると私はそれをコンパイルしようとしているとき、私はエラーを取得する:にはメンバーのコンパイルエラー
error: ‘list_item_t’ has no member named ‘state’
どれ創造的なアイデアのコードのこの部分を作る方法を、警告やerrosなしでコンパイル?
#if defined (_DEBUG_)
#define ASSERT assert
#else /* _DEBUG_ */
#define ASSERT(exp) ((void)(exp))
#endif`
typedef struct list_item {
struct list_item *p_next;
struct list_item *p_prev;
#ifdef _DEBUG_
int state;
#endif
} list_item_t;
main(int argc, char *argv)
{
list_item_t p_list_item;
ASSERT(p_list_item.state == 0);
}
あなたは正しいです。これは、_DEBUG_を使用してコンパイルする必要があります。私が経験する問題は、_DEBUG_が設定されていない場合です。 – alnet