C++ 错误:";依赖名称不是类型";。在类中使用typedef type作为返回值时,使用模板 模板 书包 { 公众: //类型定义 typedef size_t size_type; 类型定义项目值\u类型; ... }
当我使用C++ 错误:";依赖名称不是类型";。在类中使用typedef type作为返回值时,使用模板 模板 书包 { 公众: //类型定义 typedef size_t size_type; 类型定义项目值\u类型; ... },c++,C++,当我使用 template <class Item> class bag { public: //TYPEDEF typedef size_t size_type; typedef Item value_type; ... } 模板 行李::尺寸\类型行李::计数(常量项目和目标)常量 VC++将错误报告为 Source.cpp(207):警告C4346:“bag::size_类型”:依赖名称不是类型 有人能告诉我为什么吗?谢谢 应该是 template&
template <class Item>
class bag
{
public:
//TYPEDEF
typedef size_t size_type;
typedef Item value_type;
...
}
模板
行李::尺寸\类型行李::计数(常量项目和目标)常量
VC++将错误报告为
Source.cpp(207):警告C4346:“bag::size_类型”:依赖名称不是类型
有人能告诉我为什么吗?谢谢 应该是
template<class Item>
bag<Item>::size_type bag<Item>::count(const Item& target) const
模板
类型名称行李::大小\类型行李::计数(常量项目和目标)常量
您需要在bag::size\u type
之前添加typename
,因为它是一种依赖类型
typename包::大小\类型包::计数(常量项目和目标)常量
根据C++11标准:
14.6名称解析模板声明或定义中使用的、依赖于模板参数的名称被假定为不命名类型,除非适用的名称查找找到类型名称或名称由关键字
typename
限定
相关:可能重复谢谢!我听从了你的建议,解决了我的问题。
template<class Item>
typename bag<Item>::size_type bag<Item>::count(const Item& target) const
typename bag<Item>::size_type bag<Item>::count(const Item& target) const