我有一堂课(我们称之为myclass
)。它的私有成员变量之一是返回类型的std::function
调用,它接受两个参数:myfunctor
bool
bool
myfunction
(const std::string & input, std::string & output)
{
output = input;
}
的构造函数myclass
应接收对输出的引用std::string
作为其唯一参数,因此初始化它的方式如下:
myclass::myclass
(std::string & s)
: myfunctor( std::bind(myfunction, std::placeholders::_1, s) )
{
return;
}
但是,我希望有一种方法可以直接使用operator=
from std::string
。但我仍然没有找到它。我尝试了许多不同的组合,但没有运气:
std::bind( (std::string & (std::string::*) (std::string &)) &(s.operator=), placeholders::_1
等等,但编译器(GCC 4.8.0)给了我类似no matches converting to ...
.