我一直在做這個項目,但每次我試圖建立,我得到這些錯誤消息:不確定的typedef安置和類
|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 ===|
林不知道這些錯誤信息的原因是因爲我有我的口香糖球節點類內聲明的類和
在我的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
和我Stack.h文件看起來像這樣:
#ifndef STACK_H
#define STACK_H
#include "Node.h"
typedef Gumball Type;
// Interface file - Stack class definition
class Stack {
public:
Stack();
~Stack();
void push(Type);
Type pop();
bool isempty();
//Type size();
void print();
private:
Node *top;
};
#endif // STACK_H
您不需要'Stack.h'中的'typedef',因爲它包含在'Node.h'中。 –
不要在頭文件中使用'namespace'。 –
沒有使用名稱空間,它不能識別字符串作爲類型 – 123me