用新的set对象替换set对象

时间:2011-07-08 18:06:41

标签: c++

我有一个私人领域的课程:

std::set<std::string> _channelNames;

..和一个可选的setter函数:

void setChannelNames(std::set channelNames);

在setter函数中,如何将private _channelNames字段替换为从setter函数传递的字段?

我试过了:

void Parser::setChannelNames(std::set channelNames) {
    this->_channelNames = channelNames;
}

但这在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

我绝对是C ++新手,并期望我应该在这里做一些指针工作。

任何快速提示?

谢谢!

1 个答案:

答案 0 :(得分:6)

你只需要专门化模板。如果没有专业化,则无法使用std::set

void Parser::setChannelNames(const std::set<std::string> & channelNames) {
    this->_channelNames = channelNames;
}