1
私はこのようになりますクラスを持っている:C++ベクトル<T>
を:私が使用しているとき、彼らはハンドルのためのイテレータをコンパイルしませんように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 – Brian
@songyuanyao 'mHandles'は私的です。私は彼が' typename vector :: iterator'を試してみるべきだと思います。 –
Danh
@ダンええ、あなたは正しいと思います。 – songyuanyao