неверный вектор & lt; T & gt; индекс

Я пытаюсь создать двухмерный вектор, в котором координаты 0 и 1 являются комплексными числами, определяя вектор, кажется, работает нормально, но когда я пытаюсь получить к нему доступ, я получаю сообщение об ошибке, которое появляется в новой вкладке с груз тарабарщины, но где-то там написано недопустимый векторный индекс. (Сокращенный) код

#include <iostream>
#include <vector>
#include <complex>
using namespace std;
int main()
{
vector<vector<complex<double>>> rho;
for(int g = 0; g < 4; ++g){
for(int h = 0; h < 4; ++h){
rho.push_back(vector<complex<double>>(2));
rho.at(g).at(h) = 0;
cout << rho.at(g).at(h)<<endl;
}
}
}

Любая помощь будет принята с благодарностью 🙂 хх

0

Решение

Я думаю, что для C ++ угловые скобки должны быть разделены пробелами.
Код работает как есть, когда я делаю это. Посмотри на это

#include <iostream>
#include <vector>
#include <complex>
using namespace std;

int main()
{
int g = 0;
int h = 0;
vector<vector<complex<double > > > rho;
rho.push_back(vector<complex<double > >(2));
rho.at(g).at(h) = 0;
cout << rho.at(g).at(h)<<endl;
}
-1

Другие решения

Других решений пока нет …