我有错误"表达式:向量下标超出范围"。 这就是我的矢量看起来像:
std::vector<const char *> imagePaths{ "space.jpg", "playerSprite.png"};
我在执行以下代码时遇到错误:
std::cout << imagePaths[1];
但是载体中有2个项目。
请提前帮助我。
答案 0 :(得分:1)
要初始化向量,请使用C ++ 03的数组:
const char* arr[] = {"space.jpg", "playerSprite.png"};
std::vector<const char *> imagePaths(arr, arr + sizeof(arr) / sizeof(arr[0]) );
对于C ++ 11,它更容易:
std::vector<const char *> imagePaths = { "space.jpg", "playerSprite.png"};
修改强>
您确定调试断言来自std::cout << imagePaths[1];
吗?