我有一个功能:
std::string GraphList::_dfs(int src, std::vector<int>& visited)
而且我这样称呼它:
std::vector<bool> visited(NUM_V, false);
return _dfs(src, visited);
我收到以下错误:
a reference of type "std::vector<int, std::allocator<int>> &" (not const-qualified) cannot be initialized with a value of type "std::vector<bool, std::allocator<bool>>"
如果我传递未初始化的向量,它可以正常工作,但是为什么当我传递初始化的向量时,编译器会抱怨呢?
您正在将vector<bool>
作为参数传递给期望对应参数为vector<int>
的函数,该函数的类型不同,两种类型之间无法进行隐式转换,因此会出现错误。