qq_35219692 2016-07-24 01:50 采纳率: 54.5%
浏览 5690

error 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条回答

  • Robot-S 2016-07-24 02:01
    关注

    最近用VS2005编译一个以前VC6的项目,解决掉一些小问题后,出现如下的问题:
    错误 3 error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static struct CRuntimeClass * stdcall G3D::C3DView::GetThisClass(void)" (imp_?GetThisClass@C3......
    答案就在这里:error LNK2019: 无法解析的外部符号
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛