C++ 错误LNK2019:未解析的外部符号芯片和salsa程序

C++ 错误LNK2019:未解析的外部符号芯片和salsa程序,c++,C++,标题说明一切。错误是 错误1错误LNK2019:未解析的外部符号“private:void u thiscall Salsa::getTotal(void)”(?getTotal@Salsa@@AAEXXZ)在函数“public:void _uthiscall Salsa::getsell(void)”中引用(?getSold@Salsa@@QAEXZ) 错误2错误LNK2019:未解析的外部符号“private:void u thiscall Salsa::getHigh(void)”(?ge

标题说明一切。错误是

错误1错误LNK2019:未解析的外部符号“private:void u thiscall Salsa::getTotal(void)”(?getTotal@Salsa@@AAEXXZ)在函数“public:void _uthiscall Salsa::getsell(void)”中引用(?getSold@Salsa@@QAEXZ)

错误2错误LNK2019:未解析的外部符号“private:void u thiscall Salsa::getHigh(void)”(?getHigh@Salsa@@AAEXXZ)在函数“public:void _uthiscall Salsa::getsell(void)”中引用(?getSold@Salsa@@QAEXZ)

错误3错误LNK2019:未解析的外部符号“private:void u thiscall Salsa::getLow(void)”(?getLow@Salsa@@AAEXXZ)在函数“public:void _uthiscall Salsa::getsell(void)”中引用(?getSold@Salsa@@QAEXZ)

错误4错误LNK2019:未解析的外部符号u main在函数uuuu tmaincrt启动芯片和Salsa类中引用

代码如下。h文件,然后是.cpp

#ifndef SALSA_H
#define SALSA_H

class Salsa
{
private:
    void getTotal();
    void getHigh();
    void getLow();
    int count;
    int total;
    int highest;
    int lowest;
    int flavor;
public:
    void getSold();
};
#endif
现在是.cpp

#include "Salsa.h"
#include <iostream>
#include <string>
using namespace std;


void Salsa::getSold()
{
    for (count = 0; count < 5; count++)
    {
        cout << "Jar sold last month of ";
        cout << count + 1;
        cin >> flavor;

        while (flavor <= 0)
        {
            cout << "Jars sold must be greater than or equal to 0.";
            cout << "Re-enter jars sold for last month ";
            cin >> flavor;
            cout << endl;


        }
        Salsa::getTotal();
        Salsa::getHigh();
        Salsa::getLow();
    }

    Salsa::getTotal();

    total = 0;

    for (count = 0; count < 5; count++)
    {
        total += flavor;

        cout << "Total Sales: " << total << endl;
    }

    Salsa::getHigh();
    {
        highest = flavor;
        int index = 1;

        for (count = 0; count < 5; count++)
            if (flavor > highest)
            {
            highest = flavor;
            index = count + 1;
            }

        cout << "High Seller: " << flavor << endl;
    }

    Salsa::getLow();
    {
        lowest = flavor;
        int index = 1;

        for (count = 0; count < 5; count++)
        {
            if (flavor < lowest)
            {
                lowest = flavor;
                index = count + 1;
            }

            cout << "Low Seller: " << flavor << endl;
        }

        int main();
        {
            const int SALS_FLAV = 5;
            string flavor[SALS_FLAV] = { "mild", "medium", "sweet", "hot", "zesty" };

            Salsa sold;

            for (int index = 0; index < SALS_FLAV; index++)
            {
                sold.getSold();
            }
        }
    }
}
#包括“Salsa.h”
#包括
#包括
使用名称空间std;
void Salsa::getsell()
{
用于(计数=0;计数<5;计数++)
{
苦味;

而(flavor您的代码有很多问题:

  • 您没有声明函数的返回类型
  • 函数定义不应以
  • 您没有注意正确关闭函数,现在它们变成了嵌套函数
  • 请研究您的代码与以下代码之间的差异:

    #include "Salsa.h"
    #include <iostream>
    #include <string>
    using namespace std;
    
    
    void Salsa::getSold()
    {
        for (count = 0; count < 5; count++)
        {
            cout << "Jar sold last month of ";
            cout << count + 1;
            cin >> flavor;
    
            while (flavor <= 0)
            {
                cout << "Jars sold must be greater than or equal to 0.";
                cout << "Re-enter jars sold for last month ";
                cin >> flavor;
                cout << endl;
    
            }
            getTotal();
            getHigh();
            getLow();
        }
    }
    
    void Salsa::getTotal()
    {
        total = 0;
    
        for (count = 0; count < 5; count++)
        {
            total += flavor;
    
            cout << "Total Sales: " << total << endl;
        }
    }
    
    void Salsa::getHigh()
    {
        highest = flavor;
        int index = 1;
    
        for (count = 0; count < 5; count++)
            if (flavor > highest)
            {
            highest = flavor;
            index = count + 1;
            }
    
        cout << "High Seller: " << flavor << endl;
    }
    
    void Salsa::getLow()
    {
        lowest = flavor;
        int index = 1;
    
        for (count = 0; count < 5; count++)
        {
            if (flavor < lowest)
            {
                lowest = flavor;
                index = count + 1;
            }
    
            cout << "Low Seller: " << flavor << endl;
        }
    }
    
    int main()
    {
        const int SALS_FLAV = 5;
        string flavor[SALS_FLAV] = { "mild", "medium", "sweet", "hot", "zesty" };
    
        Salsa sold;
    
        for (int index = 0; index < SALS_FLAV; index++)
        {
            sold.getSold();
        }
    }
    
    #包括“Salsa.h”
    #包括
    #包括
    使用名称空间std;
    void Salsa::getsell()
    {
    用于(计数=0;计数<5;计数++)
    {
    苦味;
    
    虽然(除了
    Salsa::getsell
    之外,每个方法定义都可能重复。因此,其他方法都没有被定义。@tsnorri在.h或.cpp文件中?因为它在这两个文件中都是公共的,.h是公共的,.cpp是接近顶部的…除非我完全误解了你?@BaummitAugen至少,我从未考虑过这种可能性:)