-3
我一直對微軟的Visual C++ 2010(32位系統)錯誤C2440:初始化:不能從 '的std :: string' 轉換爲 '雙* []'
在編譯階段我得到一個錯誤,指出:
1>------ Build started: Project: pruebavecot, Configuration: Debug Win32 ------
1> pruebavecot.cpp
1>c:\users\andresgraco\desktop\pruebavecot\pruebavecot\pruebavecot.cpp(64): error C2057: expected constant expression
1>c:\users\andresgraco\desktop\pruebavecot\pruebavecot\pruebavecot.cpp(64): error C2466: cannot allocate an array of constant size 0
1>c:\users\andresgraco\desktop\pruebavecot\pruebavecot\pruebavecot.cpp(64): error C2440: 'initializing' : cannot convert from 'std::string' to 'double *[]'
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
代碼:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string line;
ifstream myfile ("Vetor_Oscilacao.txt");
if (myfile.is_open())
{
int i=1;
while (getline (myfile,line))
{
cout << stod(line) << '\n';
for(double i=1; i<100; i++)
{
double in[i]=line;
}
}
myfile.close();
}
else cout << "Unable to open file";
getchar();
return 0;
}
我試圖從一個.txt文件接收數據,並將其存儲在向量(在[1])在以後使用一個fftw。 .txt文件中的數據組織如下:
21.000000
24.000000
25.000000
25.000000
21.000000
22.000000
24.000000
25.000000
...(data #100)
非常感謝您的幫助。
'for(double i = 1; I <100;我爲什麼使用'double'而不是'int'或基於整數的循環計數器? – PaulMcKenzie
你在哪裏定義'in []'數組? – Alfabravo
您需要使用'stod(line)'將行轉換爲double,以便將其分配給數組元素。 – Barmar