我不知道Dice.h和Dice.cpp与我最终的game.cpp文件对话的正确语法。
我收到一个编译错误,该错误返回对Dice::Dice()的 undefined reference
这是我的3个文件头
Game.cpp
#include "Dice.h"
#include <iostream>
using namespace std;
int main()
{ int sum;
Dice dice1;
Dice dice2;
dice1.roll();
dice2.roll();
sum = dice1.getFace() + dice2.getFace();
cout << sum;
return 0;
}
Dice.h
#include <iostream>
#include <cassert>
#include <cstdlib>
#include <ctime>
// definition of class Dice
class Dice //... cont
Dice.cpp
#include "Dice.h"
using namespace std;
Dice::Dice() //... cont
通过输入g++ -Wall -o game game.cpp进行编译时出现错误
这是编译多个文件的正确方法吗?
最佳答案
仅仅因为您在文件中包含了包含并不意味着它们将被一起编译。
尝试使用g++ -Wall -o游戏Dice.cpp Game.cpp
...我在命令上可能会略有错误,但这应该可以
旁注,您应该真正研究Makefiles。使一切变得如此容易。
关于c++ - 让一个.cpp文件与class.cpp和class.h文件通信,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36658944/