初始化列表上的随机条件

时间:2015-04-16 12:00:12

标签: c++ list initialization

当我尝试使用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文件中它似乎期待各种各样的“;”和“预期的变量声明”......

任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

不要使用包含保护die:它与类名相同。

每次看到字符串die时,预处理器都会替换空文本。编译器将看到

class {
private:

等,这是不可编译的。

使用类似#define included_die_hpp的内容。