【发布时间】:2021-02-14 18:56:34
【问题描述】:
我是 C++ 新手,并试图从我的 X 类的 size() 成员返回一个值;返回类型必须是X::size_type。
template <class T> class X {
public:
typedef size_t size_type;
size_type size() const;
// ...
}
template <class T> X<T>::size_type X<T>::size() const {
// ...
}
上面的代码会导致错误。我在X<T>::size_type 之前添加了typename,问题似乎已解决,但我不明白为什么......
这是正确的方法吗?
【问题讨论】:
-
是的,这里的 typename 是正确的。
标签: c++ class templates visual-c++ return-type