0

我正在尝试制作静态库来解决概率和统计数据。运行代码时出现 LNK2019 未解决的外部符号错误。我认为程序没有从 .cpp 文件中检测到函数的定义,我在这里没有得到问题。我也给出了图书馆的主要文件方向,所以那里没有问题。我是使用标题和模板的新手,所以请提供帮助。当程序调用对象的构造函数时会发生错误:

> LNK2019   unresolved external symbol "public: __thiscall ProbnStatslib::means<float>::means<float>(void)"(??0?$means@M@ProbnStatslib@@QAE@XZ) referenced in function_main

头文件:

// .h file
#ifndef PROBNSTATSLIB_H
#define PROBNSTATSLIB_H
#include<iostream>
#include<vector>

namespace ProbnStatslib
{
    template<typename any>
    class means 
    {
    private:
        std::vector<any> xi_mean;
        int N;
    public:
        means();
        void initializer(int size);
        void CalcMean();

    };

}
#endif

.cpp

// .cpp
#include<iostream>
#include"ProbnStatslib.h"
#include<vector>
using namespace std;
namespace ProbnStatslib
{
    template<typename any>
    means<any>::means()
    {
        cout << "object constructed" << endl;
        cout << "Enter number of ouccrances:" << endl;
        cin >> this->N;
        initializer(this->N);
    }
    template<typename any>
    void means<any>::initializer(int size)
    {
        cout << "Enter event values or Xi of size:"<< size << endl;

        /*for (any value : xi_mean)
        {
            cin >> this->xi_mean;
        }*/
    }
    template<typename any>
    void means<any>::CalcMean() {
        cout << "Calculating" << endl;
    }

}

主文件:

#include <iostream>
#include <vector>
#include "ProbnStatslib.h"
using namespace std;
using namespace ProbnStatslib;
int main()
{
    means<float> myobj;
    return 0;
}
4

0 回答 0