将初始化的矢量作为参考[保留]时出错

问题描述 投票:-1回答:1

我有一个功能:

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>>"

如果我传递未初始化的向量,它可以正常工作,但是为什么当我传递初始化的向量时,编译器会抱怨呢?

c++ stl
1个回答
0
投票

您正在将vector<bool>作为参数传递给期望对应参数为vector<int>的函数,该函数的类型不同,两种类型之间无法进行隐式转换,因此会出现错误。

© www.soinside.com 2019 - 2024. All rights reserved.