1

0 と 1 の座標が両方とも複素数である 2 次元ベクトルを作成しようとしています。ベクトルの定義は正常に機能しているようですが、アクセスしようとすると、新しいタブにポップアップするエラーが表示されます。ちんぷんかんぷんの負荷ですが、そこのどこかに無効なベクトル添え字と書かれています。(要約)コードは

#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;
    }
}
}

どんな助けでも大歓迎です:) xx

4

2 に答える 2

-1

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;
}
于 2013-01-09T17:47:49.640 に答える