有人可以向我解释为什么以下内容不起作用(test在const里面blub)。由于test是按我假设的值复制的,因此我可以设置它,因为它是本地函子。
#include <memory>
int main()
{
std::shared_ptr<bool> test;
auto blub = [test]() {
test = std::make_shared<bool>(false);
};
return 0;
}
为了使它工作,首先我必须引入一个新的shared_ptr,分配test,然后我可以正常分配另一个shared_ptr。顺便说一句:我正在使用 clang 3.1