C ++基类错误

时间:2014-04-18 17:42:01

标签: c++

我正在尝试使用自定义类编译一个简单的程序。问题在于我无法创建一个名为" 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 ++保留的关键字吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试使用保留字:union - 这就是编译器抱怨的原因,但是一旦您更改名称就不在乎了。