qq_35219692
2016-07-24 01:50error LNK2019: 无法解析的外部符号
一共有三个文件一个是头文件 两个cpp。
//a.h
#include<iostream>
namespace sales
{
const int quarters = 4;
struct Sales
{
double sales[quarters];
double average;
double max;
double min;
};
void setsales(Sales & s, const double ar[], int n);
void setsales(Sales & s);
void showsales(const Sales & s);
}
//1.cpp
#include<iostream>
#include"a.h"
int main()
{
using namespace sales;
Sales s1,s2;
double sz[] = { 1,2,3 };
setsales(s1, sz, 3);
for (int i = 0; i < 4; i++)
{
printf("Enter number#%d:", i + 1);
std::cin >> s2.sales[i];
}
setsales(s2);
showsales(s1);
showsales(s2);
system("pause");
return 0;
}
ales.cpp
#include<iostream>
#include<string>
#include"a.h"
using namespace sales;
void setsales(Sales & s, const double ar[], int n)
{
for(int i=0;i<n;i++)
{
s.sales[i] = ar[i];
}
double sum=0;
s.max = s.sales[0];
s.min = s.sales[0];
for (int j = 0; j < n; j++)
{
s.max = s.max < s.sales[j] ? s.sales[j] : s.max;
s.min = s.min < s.sales[j] ? s.sales[j] : s.min;
sum += s.sales[j];
}
s.average = sum / n;
if (n<4)
{
for (int i = n; i < 4; i++)
s.sales[i] = 0;
}
}
void setsales(Sales & s)
{
double sum = 0;
s.max = s.sales[0];
s.min = s.sales[0];
for (int j = 0; j < 4; j++)
{
s.max = s.max < s.sales[j] ? s.sales[j] : s.max;
s.min = s.min < s.sales[j] ? s.sales[j] : s.min;
sum += s.sales[j];
}
s.average = sum / 4;
}
void showsales(const Sales & s)
{
using std::cout;
using std::cin;
using std::endl;
for (int i = 0; i <4; i++)
{
cout << s.sales[i] << " ";
}
cout << endl << "AVERAGE:" << s.average<<endl;
cout << "MAX:" << s.max << endl;
cout << "MIN:" << s.min << endl;
}
三个文件都在同一文件夹下,不知为何会报错
1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::setsales(struct sales::Sales &,double const * const,int)" (?setsales@sales@@YAXAAUSales@1@QBNH@Z),该符号在函数 _main 中被引用
1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::setsales(struct sales::Sales &)" (?setsales@sales@@YAXAAUSales@1@@Z),该符号在函数 _main 中被引用
1>1.obj : error LNK2019: 无法解析的外部符号 "void __cdecl sales::showsales(struct sales::Sales const &)" (?showsales@sales@@YAXABUSales@1@@Z),该符号在函数 _main 中被引用
1>D:\Documents\Visual Studio 2015\Projects\Win32Project4\Debug\Win32Project4.exe : fatal error LNK1120: 3 个无法解析的外部命令
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- 请问error LNK2019 和fatal error LNK1120该怎么解决啊
- c语言
- c++
- 2个回答
- VS2017+Qt开发环境,编译报错“error LNK2001: 无法解析的外部符号”,请各位大神指导。
- c++
- 2个回答
- opengl在VC2010中运行遇到的问题
- vc
- opengl
- 2个回答
- vs2015遇到link2001问题,tetgen64.lib库目录已经指定并且在链接器里添加依赖了
- 库
- visual studio
- 2个回答
- c++单例模式编译报错无法解析的外部符号
- 设计模式
- c++
- class
- 3个回答
换一换