繁体   English   中英

(void)sizeof(0 [array])是什么意思?

[英]What does (void) sizeof (0[array]) mean?

我遇到了以下代码,它返回C样式数组的大小。

template <typename Type, int N>
int GetArraySize(Type (&array)[N])
{
    (void) sizeof (0[array]);
    return N;
}

模板部分似乎已经在这个问题中得到了解释。


但是,我仍然不明白sizeof行的效用是什么。 有任何想法吗? 有人建议避免使用未使用的变量警告,但是可以使用更简单的#pragma ,对吧?

而且,这段代码在任何情况下都会有效吗? 没有任何限制吗?

我认为该行的目的是静默未使用的变量警告。 更简单的是省略参数名称

template <typename Type, int N>
int GetArraySize(Type (&)[N])
{
    return N;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM