这对我来说是一个很奇怪的错误.检查以下代码:
void test(void){
vector<string> v;
v.push_back("hello");
auto fn=[=](){
v.push_back("world");
};
}
Run Code Online (Sandbox Code Playgroud)
第一个push_back方法传递了编译但第二个失败了,产生了错误:
错误:没有匹配的成员函数来调用'push_back'
编译器说明是:
**注意:(687,36)候选函数不可行:'this'参数的类型为'const vector'(又名'const vector,allocator >>')
但该方法没有标记const**.
好吧,我没有使用任何const参数,我无法弄清楚编译器试图告诉我什么.有人能帮助我吗?