gpt4 book ai didi

c++ - vector 没有可行的重载 '='

转载 作者:太空宇宙 更新时间:2023-11-04 16:02:00 24 4
gpt4 key购买 nike

在这段代码中,

void Graph::dfs(int s) const {
m_Marked[s] = true;
// ...
}

哪里std::vector<bool> m_Marked;

我从编译器看到,

../Algorithms/graph.cpp:54:17: error: no viable overloaded '='
m_Marked[s] = true;
~~~~~~~~~~~ ^ ~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__bit_reference:155:28: note: candidate function not viable: no known conversion from 'bool' to 'const std::__1::__bit_const_reference<std::__1::vector<bool, std::__1::allocator<bool> > >' for 1st argument
__bit_const_reference& operator=(const __bit_const_reference& __x);

完全不知道他的问题是什么,这看起来很简单?

TIA

最佳答案

您将函数定义为 const,因此您 promise 不会更改任何内容。赋值操作正在改变某些东西,并且违反了该 promise 。

关于c++ - vector<bool> 没有可行的重载 '=',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com