5
我认为这很容易,但它不能按我期望的方式工作。这里的正确语法是什么?在类定义之外为模板类定义运算符[]()(数组订阅)
TemplateClass.h
template <typename T>
class TemplateClass
{
T & operator[](size_t n);
TemplateClass.cpp
#include "TemplateClass.h"
template <typename T>
T & TemplateClass::operator[](size_t n)
{
// member declaration not found
}
您确定要这么做吗?对于模板,通常在头文件中定义完整的东西,根本没有.cpp文件。 –
啊,因为链接器需要在实例化模板时找到定义?好点子。 –
@ user2887734是的! –