我不知道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/

10-10 17:02