Shadowing variables
Minha pergunta é sobre variáveis definidas em classes. Eu mostro meu problema.
Eu defini esta classe:
class Measure {
int N;
double measure_set[];
char nomefile[];
double T;
public:
void get( );
void printall( );
double mean( );
double thermal_comp( );
};
Eu gostaria que o método conseguisse fazer o seguinte:
ler números de um arquivo .dat e salvar em array measure_set;leia a entrada do usuário e salve-a na variável T;Aqui está o que eu fiz:
void Measure::get()
{
cout << "Insert filename:" << endl;
cin >> nomefile;
cout << endl;
cout << nomefile << endl;
cout << endl;
int M=0;
int nmax=50;
ifstream f;
f.open(nomefile);
while(M<nmax)
{
f >> measure_set[M];
if(f.eof())
break;
M++;
}
f.close();
N=M+1;
cout << "Insert temperature:" << endl;
cin >> T;
cout << endl;
}
O que acontece é que eu notei que T é memorizado emmeasure_set[0]
. Por que isso acontece e como posso escrever um código de trabalho? Eu não sou tão especialista em C ++, usando isso apenas para fins de cálculo, embora eu pudesse resolver o meu problema de outras maneiras, gostaria de aprender como fazer isso funcionar em C ++. Muito obrigado!