c++ - 未解析的外部符号 "int randomNumber"

标签 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

函数.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);
}

最佳答案

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

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

您还可以在 main.cpp 中删除这些行,因为您包含了已经提供原型(prototype)的 Header.h

int multi();
int printOutRanomdNumber();

关于c++ - 未解析的外部符号 "int randomNumber",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215850/

相关文章:

c++ - 如何获取 llvm 内联 asm 操作数类型?

C++ SLList - 从堆中删除临时节点?

c++ - 如何创建一个在 2d 颜色选择器中返回 2 种颜色之间的颜色的函数?

c++ - boolean 函数问题

c++ - std::cout 会影响计时器吗?

c++ - boost::property_tree::ptree 线程安全吗?

c++ - 指针 vector 中的内存泄漏,如何防止?

c++ - C++ 中的向上转型是否允许访问父级的私有(private)成员或 friend

c++ - 遍历多组结构

c++ - 过程控制