当我尝试使用const数字创建初始化列表时,似乎存在一个问题,而它是一个随机数,但是当我在initizilation列表中使用随机const时,却找不到合适的解决方案。
die.h
#ifndef die
#define die
#include <iostream>
#include "time.h"
#include "stdlib.h"
class die{
private:
const int dieFaces;
public:
die();
// Getters
int getFaces();
// Common Functions
void printDie(die);
void roll();
int copyConstructor(die);
// Destructors
~die(){};
};
#endif die
die.cpp
#include "die.h"
#include <iostream>
#include "time.h"
#include "stdlib.h"
#include <random>
using namespace std;
// Constructor
die::die() : dieFaces(rand() % 20 + 1){};
我得到的错误是“在我被要求创建空构造函数的任务时,声明没有声明任何内容”。
并且在CPP文件中它似乎期待各种各样的“;”和“预期的变量声明”......
任何帮助将不胜感激。感谢。
答案 0 :(得分:2)
不要使用包含保护die
:它与类名相同。
每次看到字符串die
时,预处理器都会替换空文本。编译器将看到
class {
private:
等,这是不可编译的。
使用类似#define included_die_hpp
的内容。