2015-03-03 154 views
0

刚接触C++,并试图使用我们的教授为我们制作的一个文件,我无法使用它提供的任何函数,继承了提供Undefined参考的代码。我没有包含函数实现,但它们又被提供了,所以它们是正确的。我正在使用代码块,所有三个文件都在我的源文件夹中。这是什么造成的?未定义的参考C++?

#include <iostream> 

using namespace std; 
#include "random.h" 


int main() 
{ 

cout<< random_instance(6,2.5,1); 
return 0; 
} 

这是random.h

#ifndef RANDOM_H 
#define RANDOM_H 

#define TWO_PI 6.2831853071795864769252866 

double * random_instance(int length, const double mu, const double sigma = 1); 
double gaussian_rand(const double mu, const double sigma); 

#endif /* defined(RANDOM_H) */ 
+1

也是在random文件夹中的random.cpp? – 2015-03-03 01:51:19

+1

你是如何编译它的?您可能会忘记编译/链接您的教练提供的代码。 – 2015-03-03 01:51:40

+0

是的,它们位于不同的文件夹中,如果重要的话,它们都位于sources文件夹中 – tokola 2015-03-03 01:54:03

回答

0

random_instance的定义缺失。

你或许应该编译和链接random.cpp也应包含在random.h声明的函数的定义,也许是这样的:

g++ path/to/main.cpp path/to/random.cpp 

代码::块有可能是部分地方在那里你可以选择要编译和链接的文件。