Visual Studio 2015 C++ 未解析的外部符号链接错误



我是一个Visual Studio 2015 c++新手,他试图在家里编写一些游戏代码。

我收到此链接错误:LNK2019未解析的外部符号"public: class std::basic_string,class std:::分配器> __thiscall display_utils::fit_int_2(int)" (?fit_int_2@display_utils@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) 在函数"public: void __thiscall bat_stats::d isp_bat_stats(struct bat_stats::bat_stats_typ)" (?disp_bat_stats@bat_stats@@QAEXUbat_stats_typ@1@@Z) 中引用

它显然不喜欢我用来从函数 fit_int_2 访问返回的字符串的字符串。 我已经在谷歌上搜索了一个解决方案,但找不到任何可以解决我的问题的东西。 请注意,在我添加fit_int_2调用之前编译和链接的代码。 如果你能帮助我,提前感谢。 代码如下:

bat_stats.h

#pragma once
class bat_stats
{
public:
    struct bat_stats_typ
    {
        int gm;
        int ab;
        int ht;
        int dbl;
        int trpl;
        int hr;
        int rbi;
        int sb;
        int cs;
        int bb;
        int ibb;
        int sf;
        int sac;
        int k;
        int gidp;
        int err;
        float ave;
        float slg;
        float obp;
    };
    void disp_bat_hdr();
    void disp_bat_stats( bat_stats_typ );
private:
    int dummy;
};

bat_stats.cpp

#include <iostream>
using std::cout;
std::cin;
#include <string>
using std::string;
#include "bat_stats.h"
#include "display_utils.h"
void bat_stats::disp_bat_hdr()
{
    cout << " G  AB  H  2B 3B HR RBI SB CS BB IW SF SH  K GDP  E  AVE  SLG  OBPn";
}
void bat_stats::disp_bat_stats( bat_stats_typ bat )
{
    display_utils dut;
    string s;
    s = dut.fit_int_2( bat.gm );         // <- the problem is here!
    cout << s << bat.gm << " ";
    cout << bat.ab << "nn";
}

display_utils.h

#pragma once
#include <string>
using std::string;
class display_utils
{
public:
    void insert_5_lines();
    string fit_int_2( int );
private:
    int dummy;
};

display_utils.cpp

#include <iostream>
using std::cout;
#include "display_utils.h"
void display_utils::insert_5_lines()
{
    cout << "nnnnn";
}
string fit_int_2(int i0)
{
    string s0 = "";
    if (i0 < 10)
    {
        s0 = " ";
    }
    return s0;
}

你需要改变

string fit_int_2(int i0)

string display_utils::fit_int_2(int i0)

(您需要定义成员函数 - 当前您正在定义一个不相关的全局函数。

最新更新