gpt4 book ai didi

c++ - 'Figure::Figure()' 的原型(prototype)与类 'Figure' 中的任何一个都不匹配

转载 作者:行者123 更新时间:2023-11-27 23:15:49 24 4
gpt4 key购买 nike

你能帮我理解我做错了什么吗?我有 NetBeans、MinGW 编译器和 Qt 库。

*图.h*

class Figure: public QObject{ //18
Q_OBJECT
public:
Figure(); //32
};

图.cpp

Figure:: Figure(){   // 16              
}

错误信息是:

Figure.h:18:7: error: candidates are: Figure::Figure(const Figure&)
Figure.h:32:17: error: Figure::Figure()
Figure.cpp:16:1: error: prototype for 'Figure::Figure()' does not match any in class 'Figure'

顺便说一句,我尝试遵循这种Figure(const Figure&) 模式。它没有用。

稍后添加(根据要求添加更多代码):

图.h

#ifndef FIGURE_H
#define FIGURE_H
#include <QtGui/QApplication>
#include <QFrame>
#include <initializer_list>

#pragma once

enum colours {RED, GREEN, BLUE, YELLOW, MAGENTA};

class Figure: public QObject{
Q_OBJECT
public:
int shape[4][4];
private:
int previous_shape;
int current_shape;
int current_x;
int current_y;
int previous_x;
int previous_y;
colours colour;

public:
Figure();
int testint;
int test[2];
void change_figure();
void roll_back();
void set_coordinates(int direction);
void set_colour();
void rotate();
int get_x();
int get_y();
int* get_shape();

// signals:
// void transmitInfo();
};

图.cpp

#include "Figure.h"
#include <cstdlib>
#include <QtGui>
#include <QtGui/QApplication>
#include <iostream>
#include <initializer_list>
template <class T>

Figure:: Figure(){

//shape = {{1, 1}, {1, 1}};
previous_shape = 1;
current_shape = 1;
current_x = 5;
current_y = 5;
previous_x = 5;
previous_y =5;
colour = RED;
}

最佳答案

那是什么template <class T>在你的 .cpp 那里做在 Figure::Figure() 之前提交文件定义?你的Figure类未在 .h 中声明为模板文件。

关于c++ - 'Figure::Figure()' 的原型(prototype)与类 'Figure' 中的任何一个都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com