以下代码非常基本且明显:
void PrintParameter(int i, char c)
{
std::cout << i << std::endl;
}
如果我这样做:
PrintParameter(5, 'A');
我按预期得到5,因为我不使用参数c
,不会发生错误。
现在我认为在一个奇怪的事情中,我认为是一个错误:
void PrintParameter(int i, char) // declare the type 'char' without the variable
{
std::cout << i << std::endl;
}
由于缺少char类型的变量,我预计会出错。
然而,我没有像以前那样得到5个错误!
这是我的编译器的错误还是符合ISO C ++标准?
如果不是错误,这仅适用于C ++或C?