在c++中使用' link '作为类名时出错

Error when using `link` as a class name in C++

本文关键字:出错 link c++      更新时间:2023-10-16

考虑一个简单的c++程序:

#include <iostream>
class link {};
int main() {
    link alink;
}

用g++编译它(Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2给出以下错误:

test.cpp:6:8: error: expected '; ' before ' alink '

为什么我得到这个错误?

因为link也是一个posix函数,函数名隐藏了类名。

你可以说class link alink;,但最好把你的类放到一个新的命名空间或重命名