-3
に 'のstd ::文字列' から変換することはできません私は、Microsoft Visual C++ 2010(32ビットシステム)に取り組んできましたエラーC2440: '初期化': 'ダブル* []'
をコンパイル・フェーズで私はというエラーを取得:
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 ==========
コード:私は.txtファイルからデータを受け取り、中、後の使用のために([i]の中で)ベクトルに保管しようとしています
#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;
}
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;私はなぜ 'int'か整数ベースのループカウンタの代わりに' double'を使用していますか? – PaulMcKenzie
'[in]'配列をどこで定義していますか? – Alfabravo
'stod(line)'を使って、行をdoubleに変換して配列要素に割り当てることができます。 – Barmar