/tmp/cc5Xy0bX.o: 関数 `main' 内:
main.cpp:(.text+0x35): `MT::init_genrand(unsigned long)' に対する定義されていない参照です
main.cpp:(.text+0x50): `MT::genrand_int32()' に対する定義されていない参照です
collect2: エラー: ld はステータス 1 で終了しました
と出てしまいます。
以下がソースコードです。
/*main.cpp*/
#include <stdio.h>
#include <time.h>
#include "MT.h"
int main(){
MT mt_test;
mt_test.init_genrand((unsigned long)time(NULL));
for(unsigned int i=0;i<100;i++){
printf("%ld\n",mt_test.genrand_int32());
}
return 0;
}
/*MT.h*/
class MT
{
private:
unsigned long mt[624]; /* the array for the state vector */
int mti; /* mti==624+1 means mt[624] is not initialized */
public:
MT(){mti=624+1;}
void init_genrand(unsigned long s);
void init_by_array(unsigned long init_key[], int key_length);
unsigned long genrand_int32(void);
long genrand_int31(void);
double genrand_real1(void);
double genrand_real2(void);
double genrand_real3(void);
double genrand_res53(void);
};