考虑以下程序.
#include <iostream>
#include <vector>
void printEm(std::vector<size_t>* array){
std::cout << array[0] << "\n";
}
int main(){
std::vector<size_t> array;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,每当我编译这个,我得到三页值或错误,我不知道为什么.我认为类型std :: vector可能与cout的期望值不匹配.有谁知道如何解决这一问题?我会发布错误消息,但它们真的会永远存在.谢谢!
您的array参数是指针,因此您需要取消引用它.
void printEm(std::vector<size_t>* array)
{
std::cout << (*array)[0] << "\n";
}
Run Code Online (Sandbox Code Playgroud)
或通过引用传递:
void printEm(std::vector<size_t>& array)
{
std::cout << array[0] << "\n";
}
Run Code Online (Sandbox Code Playgroud)