我有一个私人领域的班级:
std::set<std::string> _channelNames;
Run Code Online (Sandbox Code Playgroud)
..和一个可选的setter函数:
void setChannelNames(std::set channelNames);
Run Code Online (Sandbox Code Playgroud)
在setter函数中,如何将private _channelNames字段替换为setter函数传递的字段?
我试过了:
void Parser::setChannelNames(std::set channelNames) {
this->_channelNames = channelNames;
}
Run Code Online (Sandbox Code Playgroud)
但这在VS2005中产生了一个错误:
Error 2 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::set' (or there is no acceptable conversion) parser.cpp 61
Run Code Online (Sandbox Code Playgroud)
我绝对是一个C++新手,并期望我应该在这里做一些指针工作.
任何快速提示?
谢谢!
小智 6
你只需要专门化模板.std::set没有专业化就无法使用.
void Parser::setChannelNames(const std::set<std::string> & channelNames) {
this->_channelNames = channelNames;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |