这是班级
map<int, Channel> m_Channel(int, ChannelType);
这是地图
Channel
为什么尝试像这样添加m_Channel[channelNumber] = Channel(channelNumber, channelType);
到地图
‘<unresolved overloaded function type>[int]’
导致此编译错误?
错误:无效的类型
int
数组下标
# Save a list of what you had installed
pip freeze > freeze.txt
# Trash the entire virtualenv
deactivate
rm -rf lib/ bin/ share/ man/ include/ .Python pip-selfcheck.json
# Create it anew
virtualenv .
# Install all libraries you had before
pip install -r freeze.txt
似乎是数组下标的完全有效类型。
答案 0 :(得分:4)
这一行
map<int, Channel> m_Channel(int, ChannelType);
声明一个名为m_Channel
的函数,它接受int
和ChannelType
并返回map<int, Channel>
。我假设你希望它成为一个成员变量。
map<int, Channel> m_Channel;
答案 1 :(得分:1)
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() {}
};