別の関数を使用して、ファイルからいくつかのデータ値を読み取ろうとしています。2 つのエラーが発生します (長い間 C++ を使用していません...):
double * FREAD(std::string fpath){
std::string line;
double * params = new double[14];
std::ifstream parameters (fpath);
if (parameters.is_open())
{
for (int b = 0; b < 14; b++) {
parameters >> line >> params[b];
}
}
parameters.close();
return params;
}
スロー
error C2556: 'double *FREAD(std::string)' : オーバーロードされた関数は、'double FREAD(std::string)' と戻り値の型のみが異なります
と
エラー C2040: 'FREAD' : 'double *(std::string)' は間接参照のレベルが 'double (std::string)' と異なります
2 番目の問題は、main で関数を呼び出す行からスローされます。
double * param = FREAD(parampath);
エラー C2440: '初期化中': 'double' から 'double *' に変換できません
double が指す値として param を定義しないと、逆に同じ型の不一致エラーが発生します...
私の理解では、サブ関数が作成した配列の最初の値を指すポインターを返し、それを使用してデータを操作する必要があるということです。しかし、メインで関数を呼び出すと、この値を取得できないようです。