我正在尝试使用单独的函数从文件中读取一些数据值;我收到两个错误(我很长时间没有使用 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;
}
投掷
错误 C2556: 'double *FREAD(std::string)' : 重载函数的不同之处仅在于返回类型与 'double FREAD(std::string)'
和
错误 C2040:“FREAD”:“double *(std::string)”的间接级别与“double (std::string)”不同
第二个问题是从我在 main 中调用函数的那一行引发的。
double * param = FREAD(parampath);
错误 C2440:“正在初始化”:无法从“双”转换为“双 *”
如果我没有将 param 定义为 double 指向的值,我会反过来得到相同的类型不匹配错误......
我的理解是我应该返回一个指针,该指针指向我的子函数创建的数组的第一个值,并使用它来处理数据。但是当我在 main 中调用函数时,我似乎无法提取这个值。