0x7A47E727 中未处理的异常
Unhandled exception in 0x7A47E727
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
//system("cls");
const int x = 30;
const int y = 15;
string tabella[y][x];
char bordo = '#';
for (int i = 0; i < x; i++)
tabella[0][i] = bordo;
for (int i = 0; i < y; i++)
tabella[i][0] = bordo;
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
std::cout << tabella[i][j];
}
std::cout << "\n";
}
}
我不明白为什么会出现这个问题:
Eccezione non gestita in 0x7A47E727 (ucrtbased.dll) in Prova1.exe: 0xC0000005: violazione di accesso durante la lettura del percorso 0xCCCCCCCC.
此处为英文翻译:
Unhandled exception in 0x7A47E727 (ucrtbased.dll) in Test1.exe: 0xC0000005: access violation while reading path 0xCCCCCCCC.
问题似乎出在这一行:
std::cout << tabella[i][j];
我不知道,但它是在我使用 x e y 变量时开始的。
我正在使用 Visual Studio 2017 顺便说一句。
看看你的数组边界。您的 i
和 j
方向错了。
std::cout << tabella[i][j];
应该是
std::cout << tabella[j][i];
或者您的 x
和 y
一开始就搞错了。
你声明数组
const int x = 30;
const int y = 15;
string tabella[y][x];
但是你在这里使用了错误的索引:
std::cout << tabella[i][j];
因为 i
从 0 数到 29 而 j
从 0 数到 14。
所以你必须使用:
std::cout << tabella[j][i];
这将解决您的问题
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
//system("cls");
const int x = 30;
const int y = 15;
string tabella[y][x];
char bordo = '#';
for (int i = 0; i < x; i++)
tabella[0][i] = bordo;
for (int i = 0; i < y; i++)
tabella[i][0] = bordo;
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
std::cout << tabella[i][j];
}
std::cout << "\n";
}
}
我不明白为什么会出现这个问题:
Eccezione non gestita in 0x7A47E727 (ucrtbased.dll) in Prova1.exe: 0xC0000005: violazione di accesso durante la lettura del percorso 0xCCCCCCCC.
此处为英文翻译:
Unhandled exception in 0x7A47E727 (ucrtbased.dll) in Test1.exe: 0xC0000005: access violation while reading path 0xCCCCCCCC.
问题似乎出在这一行:
std::cout << tabella[i][j];
我不知道,但它是在我使用 x e y 变量时开始的。 我正在使用 Visual Studio 2017 顺便说一句。
看看你的数组边界。您的 i
和 j
方向错了。
std::cout << tabella[i][j];
应该是
std::cout << tabella[j][i];
或者您的 x
和 y
一开始就搞错了。
你声明数组
const int x = 30;
const int y = 15;
string tabella[y][x];
但是你在这里使用了错误的索引:
std::cout << tabella[i][j];
因为 i
从 0 数到 29 而 j
从 0 数到 14。
所以你必须使用:
std::cout << tabella[j][i];
这将解决您的问题