相关疑难解决方法(0)

C++类模板未定义函数引用

当我在我的main函数中调用模板类"add"和"greater"中的两个函数时,我一直得到未定义的引用.

所以,我有:number.h

#ifndef NUMBER_H
#define NUMBER_H

template <class T>
class number {
public:
    T x;
    T y;

    number (int a, int b){
        x=a; y=b;}
    int add (T&);
    T greater ();
};

#endif
Run Code Online (Sandbox Code Playgroud)

number.cpp

#include "number.h"

template <class T>
int number<T>::add (T& rezAdd){
    rezAdd = x+y;
    return 1;
}

template <class T>
T number<T>::greater (){
        return x>y? x : y;
}
Run Code Online (Sandbox Code Playgroud)

我的主文件是:resolver.cpp

#include <stdio.h>
#include <stdlib.h>
#include "number.h"

int main (int argc, char **argv) {
    int aux;
    number<int> c(3,5);

    c.add(aux);
    printf …
Run Code Online (Sandbox Code Playgroud)

c c++ class undefined-reference template-classes

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×1

c++ ×1

class ×1

template-classes ×1

undefined-reference ×1