我正在处理一些旧的C代码,遇到了两个奇怪的宏定义。它们看起来不正确,并且也导致编译器发出一些警告(warning: left-hand operand of comma expression has no effect),这让我花了几个小时才最终追踪到这些宏。
有人能告诉我它们是否正确(我怀疑不是),如果不正确,我该如何修复它们?
#define MAX_MEMORY_BLOCK (sizeof(size_t)==2,65535,2147483647)
#define MAX_ARRAY_SIZE (sizeof(size_t)==2,16384,1073741824)
(sizeof(size_t)==2 ? a : b)
? - Mat