原型大概是这样:
#include<random>
using std::mt19937;
using std::uniform_int_distribution;
class Datum3CH {
protected:
static mt19937 rng; // 就是这里,想做一个与对象无关的类成员变量,所有该类对象用同一个随机数生成器。
}
g++4.9 通过无问题。
vs2013 能通过编译,链接时显示:
error LINK2001: 无法解析的外部符号 public: static class std::mersenne_twister_engin<...> Datum3CH::rng*(?rng@?$Datum3CH@M@@2V?$.....)
大概,变量声明了但没找到定义,是这个问题。。。 但这个原因我搞不定。。。