【发布时间】:2016-10-25 03:42:07
【问题描述】:
我有一个如下所示的课程:
template<typename T>
class MyContainer
{
public:
struct Handle
{
public:
T* Resolve();
};
private:
vector<Handle> mHandles;
};
当我使用时,他们似乎不会为句柄编译迭代器:
vector<Handle>::iterator iter = mHandles.begin();
如果我将其更改为自动,它可以工作:
auto& iter = mHandles.begin();
我不应该明确地使用该类型吗?
【问题讨论】:
-
请出示 MCVE。 stackoverflow.com/help/mcve
-
@songyuanyao
mHandles是私人的,我觉得他应该试试typename vector<Handle>::iterator -
@Danh 是的,我认为你是对的。