我一直致力于此计划,但每次尝试构建时,都会收到以下错误消息:
|41|undefined reference to `Gumball::Gumball()' obj\Debug\main.o||In function `main':| |24|undefined reference to `Gumball::Gumball()' |24|undefined reference to `Gumball::Gumball()' obj\Debug\main.o||In function `Z10eatgumballR5StackR7Gumball' |102|undefined reference to `Gumball::Gumball()' obj\Debug\Node.o||In function `Node': |4|undefined reference to `Gumball::Gumball()' |4|more undefined references to `Gumball::Gumball()' follow ||=== Build finished: 6 errors, 0 warnings ===|
我不确定这些错误消息的原因是什么,因为我在我的Node类中声明了Gumball类
我的Stack类中的 #include "Node.h"
和
我的主要"#include "Stack.h"
。任何建议都将不胜感激。
我的Node.h文件如下所示:
#ifndef NODE_H
#define NODE_H
#include <iostream>
using namespace std;
class Gumball {
public:
Gumball();
string color;
int counter;
};
typedef Gumball Type;
// Interface file - Node class definition
class Node {
public:
Node();
Type x;
Node *n;
Type getinfo();
Node *getnext();
void setinfo(Type x);
void setnext (Node *n);
private:
Type info;
Node *next;
};
#endif // NODE_H
#ifndef NODE_H
#define NODE_H
#include <iostream>
using namespace std;
class Gumball {
public:
Gumball();
string color;
int counter;
};
typedef Gumball Type;
// Interface file - Node class definition
class Node {
public:
Node();
Type x;
Node *n;
Type getinfo();
Node *getnext();
void setinfo(Type x);
void setnext (Node *n);
private:
Type info;
Node *next;
};
#endif // NODE_H
我的Stack.h文件如下所示:
答案 0 :(得分:2)
Gumball::Gumball()
构造函数定义在哪里?那是gumball.cpp
文件吗?如果没有,那么尝试内联定义:
class Gumball {
public:
Gumball() {}
答案 1 :(得分:1)
您是否实施了任何类方法?我看到的只是一堆类声明。