在这个类声明中遇到了一些问题,我正在尝试创建节点以实现Dijkstra最短路径算法的openGL。getX()、getY()和getZ()方法会导致错误:
错误:ISO C++禁止使用没有类型的“getX”声明
我在ubuntu linux上使用g++编译。命令:g++ -lglut -lGLU -lGL projecttest.c
#include <cstdarg>
#include <cstdio>
#include <GL/glut.h>
#include <GL/glu.h>
#include <cstdlib>
#include <iostream>
#define kWindowWidth 800
#define kWindowHeight 600
#define NUM_NODES 3
using namespace std;
class Node {
private:
GLfloat x, y, z;
int numLinks;
Node *links[];
public:
Node(GLfloat x, GLfloat y, ...);
~Node();
GLfloat getX();
GLfloat getY();
GLfloat getZ() {return 0.0f;}
} Node;
Node nodes_g[NUM_NODES];
我认为问题在于预处理宏。我对OpenGL和C++都比较陌生,因此任何建议都是受益的,但我真正想知道的是为什么会出现错误。
<cstdio>
和<iostream>
?(这与你的问题无关,我只是好奇。) - Maxpm