函数类型的大小; gcc无法识别为格式不正确

问题描述 投票:1回答:1

进行此小测试(http://coliru.stacked-crooked.com/a/71096660a727f4b0):

#include <iostream>

int main()
{
   std::cout << sizeof(void()) << '\n';
}

gcc产生警告而不是错误(并打印1)。难道不应该像clang那样将其视为格式错误的表达式?

c++ function sizeof
1个回答
3
投票

标准不区分警告和错误。因此,格式错误的构造只能发出警告。也不要求编译也应失败。唯一的要求是应发出诊断信息。未指定诊断的确切含义。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.