【发布时间】:2018-05-31 16:24:02
【问题描述】:
给定:
void function(int*=0) {}
int main() {
}
叮当声(3.8.0):
test.cc:1:18: error: expected ')'
void function(int*=0) {
^
g++ (5.4.0):
test.cc:1:18: error: expected ‘,’ or ‘...’ before ‘*=’ token
void function(int*=0) {
^
如果我把它改成(注意间距):
void function(int* = 0) {}
int main() {
}
很明显,我输入的是 T* = 0 还是 T *= 0,这让我感到困惑,这是错误还是预期?
【问题讨论】:
-
尝试命名您的 int* 参数,看看是否仍然出现错误。
-
在我看来像 maximal munch。
-
您应该添加一个参数名称以增加清晰度。
-
我敢打赌,
void function(int+=0)会出现同样的编译器错误
标签: c++