roll_die没有在这个独家新闻中宣布

  • 本文关键字:独家新闻 die roll c++
  • 更新时间 :
  • 英文 :


我有我的.hpp :

#include <vector>
#include <iostream>
#include <ctime>
#include <random>
#ifndef ECHELLE
#define ECHELLE
struct Player{
int position;
int n_step;
Player(): position(0), n_step(0) {};
};
class SnakesAndLadders{
private:
int n_players;
int n_board;
std::vector<Player> players;
std::vector<int> board;
public:
SnakesAndLadders() : n_players(0), n_board(0), players(), board() {}
SnakesAndLadders(int n,int N) : n_players(n), n_board(N), players(n), board(N) {for(int i =0; i<N; i++) {board[i]=i;} }
int roll_die(std::mt19937 &) const;
};

#endif

在我的.cpp:

#include "blabla.hpp"
int SnakesAndLadders::roll_die(std::mt19937 & gen) const {
std::uniform_int_distribution<int> U(1,6);
int dice = U(gen);
return dice;
}

对于我的测试.cpp

#include "blabla.hpp"
#include <fstream>
#include <string>

int main() {
std::mt19937 G(time(NULL));
double moy=0;
for(int i=0; i<100; i++) {
moy+=roll_die(G);
}
moy=moy/100;
return 0;
}

我有以下错误:

在此范围内未声明"roll_die"moy+=roll_die(G(;

roll_die是在 .hpp 中声明的,所以我不明白这个错误。

roll_die被声明为SnakesAndLadders对象函数。要使用它,您首先必须创建一个SnakesAndLadders对象

SnakesAndLadders snl;
snl.roll_die(G);

最新更新