今天我尝试了一个我前段时间开发的项目。当它遇到编译错误时我很惊讶,因为我已经使用 g++ 成功编译了我的项目。
这个简短的片段重现了遇到错误的行:
int main() {
__attribute__((aligned(16)) char arr[5];
}
这会产生此错误:
test.cpp:2:32: error: expected ')'
__attribute__((aligned(16)) char arr[5];
^
)
如您所见,有一个不平衡的括号。有三个“(”和两个“)”。这显然看起来应该实际上会产生编译错误。
这是 this 关键字的有效用法吗?我似乎在文档上找不到任何表明它的东西。
我正在使用 g++ 4.5.2 和 clang 2.8。
请注意,当使用 gcc 而不是 g++ 时会检测到此错误。