C ++的新手,使用模板函数时出现编译器错误

时间:2018-09-05 11:16:10

标签: c++ templates compiler-errors g++

我对C ++编程还很陌生,这说明我在理解编译和链接的工作原理方面存在一些基本问题。这是我的最低示例: 我有三个文件a.hpp,a.cp​​p和b.cpp。

a.hpp:

namespace A {
   template<typename T>
   double helpA(T t1,T t2);
}

a.cpp:

#include "a.hpp"
namespace A {
   template<typename T>
   double helpA(T t1, T t2){
      return(t1 +t2);
   }
}

b.cpp(主)

#include <iostream>
#include "a.hpp"


int main (int argc, char *argv[]){

        double t = A::helpA(1.0,2.3);
        std::cout << t << "\n";

}

当我现在尝试通过调用来编译Thing

g++ b.cpp a.cpp

我收到以下错误:

b.cpp:(.text+0x24): undefined reference to `double A::helpA<double>(double, double)' 
collect2: error: ld returned 1 exit status

所有帮助都应征

0 个答案:

没有答案