Я пытаюсь написать программу с использованием xtensor, и она работала нормально, пока я не попытался использовать cin:
auto w=5;
cout << "Enter the 'n' for an nxn matrix: ";
//cin >> w;
cout << w;
if (!cin) { cout << "FAIL"; return 0; }
xarray<double> t;
t = nxn_array(4);
return 0;
С определением функции:
xarray<double> nxn_array(unsigned int n) //shows original array being used
{
auto show = empty<double>({ n,n });
int c = 1; //lattic site index
for (unsigned int i = 0; i < n; ++i)
{
for (unsigned int j = 0; j < n; ++j)
{
show(i, j) = c;
++c;
}
}
cout << show;
return show;
};
Работает нормально, еслиЯ комментирую cin >> w
.Но когда я включаю его, я получаю Exception thrown at 0x004FF284 in File_Name.exe: 0xC0000005: Access violation executing location 0x004FF284.
в файле xstorage.hpp
.Это также работает нормально, если я закомментирую cout << show;
, но оставлю в cin >> w
.
Я не уверен, почему это так.w
вообще не используется.Я думаю, что исключение выдается в части cout << show
всякий раз, когда включается cin >> w
.