Visual Studio不显示哪个行错误是

问题描述

当我使用C ++编程并且Visual Studio 2019引发错误时,它显示遇到的那一行。但是,当使用C ++进行编码并引发错误时,它不会确切显示在哪一行。因此,很难调试和修复程序。也许有些设置需要调整?

C ++错误(它指向不是我创建的安装文件的1501行):

 vector<int> myVector(2);
 cout << myVector[4] << endl;

C++ error view

在这些示例中,这两个程序中的错误属于同一类别:向量(在C ++中)。

解决方法

不提供更多代码,而是查看您提供的最少c++代码:

vector<int> myVector(2);
cout << myVector[4] << endl;

第二行的myVector中似乎有太多元素。您将拥有UB,因为[]运算符未分配更多元素。您只声明了2个元素。

现在,当您将vector发送到cout时,是说您有4个 false

这就是为什么出现错误的原因:“表达式:矢量下标超出范围”

如果您用两个vector定义一个elements,则只有两个索引0和1。

现在,如果您尝试查看vector的大小,请使用.size()函数,该函数返回vector中的元素数。

vector<int> myVector(2);
cout << myVector.size() << endl;

您甚至可以通过for循环执行以下操作:

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> myVector(2);
    std::cout << myVector.size() << std::endl;
    for (int i = 0; i < 10; i++) 
        myVector.push_back(i);

    std::cout << myVector.size() << '\n';
    return 0;

}