c++ - 函数不能重载错误c++

标签 c++

我正在通过制作一个在棋盘类中有一个列类的 connect 4 游戏来学习作文。我一直在努力找出这些重载错误:

g++ -g -c C4Board.cpp -o C4Board.o
C4Board.cpp:11:1: error: ‘C4Board::C4Board()’ cannot be overloaded
 C4Board(){
 ^
In file included from C4Board.cpp:9:0:
C4Board.h:7:5: error: with ‘C4Board::C4Board()’
     C4Board();
     ^
C4Board.cpp:20:1: error: ‘C4Board::~C4Board()’ cannot be overloaded
 ~C4Board(){}
 ^
In file included from C4Board.cpp:9:0:
C4Board.h:9:5: error: with ‘C4Board::~C4Board()’
     ~C4Board();
     ^
C4Board.cpp:20:12: error: expected ‘}’ at end of input
 ~C4Board(){}
            ^

这是我的构造函数:

#include <iostream>
using namespace std;

#include "C4Col.h"
#include "C4Board.h"

C4Board(){
  numCol = 7;
}

C4Board(int columns){
  numCol = columns;
}

~C4Board(){}

我在构造函数之前去掉了 C4Board::,因为除了重载错误之外,它还给我这个错误:

    error: extra qualification ‘C4Board::’ on member ‘C4Board’ [-fpermissive]
 C4Board::C4Board(){
 ^

这是我的 .h 文件,但我不认为这是问题所在:

class C4Board{
  public:
    C4Board();
    C4Board(int);
    ~C4Board();
    void display();
    void play();
  private:
    int numCol;
    C4Col Board[7];
}

如有任何帮助,我们将不胜感激。

最佳答案

编译器将函数识别为不同的,您必须指定这些是类方法的定义...

C4Board::C4Board(){
  numCol = 7;
}

C4Board::C4Board(int columns){
  numCol = columns;
}
C4Board::~C4Board(){}

关于c++ - 函数不能重载错误c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41973368/

相关文章:

c++ - 从 matroska(mkv、webm)到音频(C++ 通过 libvorbis)的解码循环逻辑

c++ - 无法设置 CWinApp 上的 SetTimer 函数

c++ - c++中的每个线程都有自己的内存分配限制吗

c++ - 函数名称表示什么以及更多

c++ - 将类附加到 QStandardItemModel

c++ - 如何使用QSqlQueryModel处理海量数据?

c++ - 如何使用循环中的所有内核?

c++ - opengl 纹理立方体 C++

c++ - 如何使用 libjpeg-turbo 编译 OpenCV?

c++ - Azure C++ 库 : "Invalid streambuf object"