未解析的外部符号“int randomNumber”

时间:2013-03-05 04:31:03

标签: c++

请有人解释我如何将函数@ functions.cpp链接到main.cpp

注意:我希望两个文件functions.cpp和main.cpp使用来自header.h的相同变量

谢谢!

的main.cpp

#include "Header.h"
#include <iostream>

using namespace std;
int multi();
int printOutRanomdNumber();    


int main()
{
cout << "Eneter a number you want to multiply" << endl;
cout << multi() <<endl;
cout << printOutRanomdNumber();

system("pause");
return 0;
}

header.h

#ifndef _HEADER_
#define _HEADER_

#include <iostream>

using namespace std;

extern int randomNumber;
int multi();
int printOutRanomdNumber();    


#endif

functions.cpp

#include "Header.h"
#include <iostream>

using namespace std;

int multi()
{
    int x;
    cin >> x;
    return(x=x*x);
} 
int printOutRanomdNumber()
{
    cout << "Please enter a random number" << endl;
    cin >> randomNumber;
    return (randomNumber);
}

1 个答案:

答案 0 :(得分:1)

错误是因为您没有在任何文件中定义int randomNumber

您需要在其中一个.cpp文件中定义randomNumber,我猜这里functions.cpp更有意义。

此外,您可以在main.cpp中删除这些行,因为您已经包含了Header.h,它已经提供了原型。

int multi();
int printOutRanomdNumber();