私はC++には新しく、そのコードに少し問題があります。動的メモリ割り当てで作成する必要がある配列の各セルに1を入れたいと思います。私は数ヶ月前にmallocを使って同様のことをしたと思います。結果(g ++ Linux)を出力すると、最初のカラム(配列の10番目のセルを新しいカラムの始めとして扱うとき)のみが1であることが示されます。他はメモリへのアドレスとして印刷されます。C++のarrayとforループへのポインタ。
#include "stdafx.h"
#include <iostream>
class TestOfForVector {
public:
double* tabX;
double* tabY;
int n;
TestOfForVector(int getN){
n = getN;
tabY = new double[n*n];
//tabX = new double[n];
for(int i = 0; i < n; i ++){
for(int j = 0; j <n; j++){
tabY[j+i*n] = 1.0;
std::cout<<tabY[j+i*n]<<std::endl;
}
}
}
~TestOfForVector(){
delete [] tabX;
delete [] tabY;
}
};
int main(int argc, _TCHAR* argv[])
{
TestOfForVector newboy(10); //it will be defined by user input;
return 0;
}
申し訳ありませんが、私はインターネットで回答を見つけることができませんでした。 よろしくお願いいたします。 ルカッズ!
#includeを使用し、配列の代わりにstd :: vector を使用します。 –
andre
結果を再現できません:http://ideone.com/VgIqt - 実行しているコードと同じですか? –