这是 clang++/g++ 中的错误吗?
Is this a bug in clang++/g++?
给定:
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,这都是错误还是预期的?
>*=
是一个运算符,就像+=
一样。所以x *= 2;
和x = x * 2;
一样
您希望* =
作为两个标记进行词法分析(从概念上讲,在C++中,词法化发生在解析之前,并且几乎独立于解析;阅读有关C++翻译阶段的信息(。
有一种简短的方法可以将值相乘,例如:
foo *= 2;
它基本上与以下功能相同:
foo = foo * 2;
也许这就是它所困惑的地方。
相关文章:
- <filesystem> 在 clang 6 和 10 上 #include 错误
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 错误:使用 clang 没有可行的重载,使用 GCC 编译
- Clang 8 带有静态 constexpr 和数组的链接器错误 - 错误是什么以及如何解决它?
- 如何使用 CLANG 禁用格式安全错误?
- 通过自制软件(macOS)安装的clang++:编译错误
- 获取 clang++:错误:在编译文件系统库的代码时
- C++20 个模块在 clang (Windows):在最简单的示例中键入信息错误
- 与clang++一起使用的VS代码在构建良好的C++文件中显示错误
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 如何修复 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 在Visual Studio中使用括号时编译错误,但在G ++ / CLang ++中传递
- 为什么 Clang 在命名空间'std'中没有名为 'copy' 的成员给出错误
- "Make"失败并出现 Clang 错误 - 如何从 Clang 获得错误?
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- "删除"在 g++ 中抛出错误,同时在 clang 中完美编译
- Clang 无法检测到初始化并给出错误
- 在折叠表达式中使用 lambda 时"Uninitialized captured reference"错误 - clang vs gcc
- C++ std::this_thread::sleep_for编译器错误 (CLANG)
- 链接器错误- clang++