gpt4 book ai didi

c++ - 这里出了什么问题? - ISO C++ 禁止声明没有类型的 'Circle'

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:38 25 4
gpt4 key购买 nike

也许你可以帮我解决这个问题。我有一个用于画圆的类,但编译器向我发送了这条消息:

In file included from ./Includes.h:19,
from ./Circle.h:8,
from ./Circle.cpp:5:
./GameApp.h:24: error: ISO C++ forbids declaration of 'Circle' with no type
./GameApp.h:24: error: expected ';' before '*' token

这是 GameApp.h:

#include "Includes.h"

class GameApp {

public:
GameApp();
~GameApp();
void Render();

protected:
void InitGU();
bool Controls();

void *dList; // display List, used by sceGUStart
void *fbp0; // frame buffer

Circle* circle;
};

Include.h 看起来像这样:

//************************************************************************
// Includes.h
//************************************************************************

#include <malloc.h> //For memalign()
#include <pspkernel.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include <stdio.h>
#include <psprtc.h> // for the timer/fps functions
#include <pspctrl.h>
#include <math.h>

// GU
#include <pspgu.h>
#include <pspgum.h>

// Custom
#include "GameApp.h"
#include "Circle.h"


//************************************************************************

// Definitions
#define BUF_WIDTH (512)
#define SCR_WIDTH (480)
#define SCR_HEIGHT (272)

#define sin_d(x) (sin((x)*M_PI/180))
#define cos_d(x) (cos((x)*M_PI/180))
#define tan_d(x) (tan((x)*M_PI/180))

//************************************************************************

// structs, datatypes...
#ifndef VERTEX_TYPE_
#define VERTEX_TYPE_
typedef struct {
unsigned int color;
float x, y, z;
} vertex;
#endif

和 Circle.h

//************************************************************************
// Circle.h
//************************************************************************

#ifndef CIRCLE_H_
#define CIRCLE_H_

#include "Includes.h"

class Circle {

public:
Circle(float r1);
~Circle();
void Render();

float r;
float x, y;
float vx, vy;

protected:
vertex* vertices;
int n;

};

#endif

最佳答案

不要使用one-massive-include-to-include-everything(预编译头文件除外)。这几乎肯定会导致头痛。

包括您需要的内容,仅此而已。它会解决您的问题。

您可以转发声明Circle,如DanDan suggested ,但从长远来看,解决您的包容性问题会帮助您更多。

关于c++ - 这里出了什么问题? - ISO C++ 禁止声明没有类型的 'Circle',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3356700/

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