我有
template <typename ConcContainer>
class WebBrowsingPolicyData
{
public:
typedef ConcContainer<std::shared_ptr<WBRuleDetails>>::iterator iterator;
...
private:
ConcContainer<std::shared_ptr<WBRuleDetails>> usersData_;
CRITICAL_SECTION critSection
我在第 6 行遇到编译错误(错误 6 错误 C2238:';' 之前的意外标记)
typedef ConcContainer<std::shared_ptr<WBRuleDetails>>::iterator iterator
如何在模板中创建 typedef?我一定是错过了什么..
最佳答案
ConContainer 本身是一个模板所以它需要是一个模板模板参数:
template <template <typename T> class ConcContainer>
class WebBrowsingPolicyData
{
public:
typedef typename ConcContainer<std::shared_ptr<WBRuleDetails>>::iterator iterator;
};
关于C++ 模板 : template argument error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153484/