有人可以向我解释为什么以下内容不起作用(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