我正在尝试使用自定义类编译一个简单的程序。问题在于我无法创建一个名为" union"的方法。我没有在代码中使用std或任何库,所以没有任何东西应该污染。我做错了什么?
test_maximal_clique.cpp
#include "BronKerbosch.h"
int main()
{
return 0;
}
BronKerbosch.h
#ifndef BRON_KERBOSCH_H
#define BRON_KERBOSCH_H
class VertexSet
{
public:
VertexSet union(int a);
};
#endif /* BRON_KERBOSCH_H */
BronKerbosch.cpp
#include "BronKerbosch.h"
int VertexSet::union(int a)
{
return a;
}
编译+错误:
gcc -o bin/BronKerbosch.o src/BronKerbosch.cpp -c -ansi -pedantic -Wall -Wextra
In file included from src/BronKerbosch.cpp:1:0:
src/BronKerbosch.h:13:12: error: expected identifier before ‘(’ token
int union(int a);
^
src/BronKerbosch.h:13:13: error: expected unqualified-id before ‘int’
int union(int a);
^
src/BronKerbosch.h:13:13: error: expected ‘)’ before ‘int’
src/BronKerbosch.cpp:7:16: error: expected unqualified-id before ‘union’
int VertexSet::union(int a)
^
make: *** [bin/BronKerbosch.o] Error 1
我将union
更改为unionn
并进行编译。为什么? union是C ++保留的关键字吗?