gpt4 book ai didi

c++ - 如何修复此类模板错误?

转载 作者:行者123 更新时间:2023-11-30 05:39:22 25 4
gpt4 key购买 nike

<分区>

这是我第一次尝试使用类模板(我是 C++ 的新手)

我正在尝试创建一个非常简单的 Number类(class)。首先,我正在创建一个 ToString方法。截至目前,出于测试目的,我只想要 ToString返回字符串 "testing" .

当我运行我的代码时,出现以下错误:

Undefined symbols for architecture x86_64:
"Number<int>::ToString()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [build/ml] Error 1

这是我的代码,感谢您的帮助:

主要.cpp

#include "number.h"

int main(int argc, char* argv[]) {
Number<int> x(15);
x.ToString();
return 0;
}

数字.h

#ifndef _NUMBER_
#define _NUMBER_

#include <iostream>

template <class T>
class Number {
private:
T m_val;
public:
Number(T val) : m_val(val) {};
std::string ToString();
};

#endif

数字.cpp

#include "number.h"

template<class T>
std::string Number<T>::ToString() {
return std::string("testing");
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com