如何修复'unresolved overloaded function type?'
How to fix 'unresolved overloaded function type?'
这个类
class Channel
{
public:
Channel(int channelNumber, ChannelType channelType);
};
这是地图
map<int, Channel> m_Channel(int, ChannelType);
为什么尝试像这样添加Channel
到地图
m_Channel[channelNumber] = Channel(channelNumber, channelType);
导致编译错误?
错误:无效类型
‘<unresolved overloaded function type>[int]’
for数组下标
int
似乎是一个完美的数组下标类型。
这一行
map<int, Channel> m_Channel(int, ChannelType);
声明了一个名为m_Channel
的函数,它接受一个int
和一个ChannelType
,并返回一个map<int, Channel>
。我假设您希望它是一个成员变量。
map<int, Channel> m_Channel;
见https://en.wikipedia.org/wiki/Most_vexing_parse
map<int, Channel> m_Channel(int, ChannelType);
如果是一个函数声明,它有两个参数int
和ChannelType
,返回一个map<int, Channel>
你可能只需要一个像map<int, Channel> m_Channel
需要Channel
类的默认构造函数
所以你应该有
class Channel {
public:
Channel(int channelNumber, ChannelType channelType);
Channel() {}
};
相关文章:
- "Called Object Type is Not a Function or Pointer" 与 typedef 和类
- C++:"Expected '(' for function-style cast or type construction"错误
- 如何修复" 'Function' does not name a type "?[阿杜伊诺]
- 如何修复空虚拟方法的"warning: no return statement in function returning non-void [-Wreturn-type]"
- c++ (XORString): "recursive type or function dependency context too complex"
- "unresolved overloaded function type"错误并将运算符作为函数参数传递
- 在 2D 阵列分配期间对 calloc 进行"expression must have (pointer-to) function type"
- "overloaded function differs only by return type"错误
- 在 std::function 中使用静态函数的"unresolved overloaded function type"
- "Expected '(' for function-style cast or type construction"错误是什么意思?
- "Unresolved overloaded function type"尝试将for_each与迭代器一起使用并在C++中发挥作用
- c++声明顺序(const/type/function)
- 错误:调用'sort(..., ..., <unresolved overloaded function type>)'没有匹配函数
- 如何解决错误:"no matching function for call to ‘bind(<unresolved overloaded function type>"在类中使用 std
- 如何修复'unresolved overloaded function type?'
- 从 boost::thread 调用模板化函数时"unresolved overloaded function type"
- 模板函数指针:"overloaded function with no contextual type information"
- 调用'QDomDocument::createElement(<unresolved overloaded function type>)'没有匹配函数
- G++ 使用模板参数提供"unresolved overloaded function type"
- 看不到"control reaches end of non-void function [-Wreturn-type]"的原因