listes d'initialisation étendues uniquement disponibles avec
Je suis très novice en C++ et je vais avoir de la difficulté à la lecture de mes erreurs que j'ai été en mesure d'éliminer la plupart d'entre eux, mais je suis pour quelques-uns et je vais demander de l'aide pour eux s'il vous plaît.
Voici le programme
#include <string>
#include <iostream>
using namespace std;
int main(){
int *bN = new int[9];
string bankNum;
int *number = new int[9];
int total, remain;
int *multi = new int{7,3,9,7,3,9,7,3};
cout<<"Please enter the bank number located at the bottom of the check"<<endl;
cin>>bankNum;
for(int i = 0; i < 8; i++){
bN[i]= (bankNum[i]-48);
}
for(int i = 0; i < 8;i++){
cout<<bN[i];
}
cout<<endl;
for(int i = 0; i < 8;i++){
cout<<multi[i];
}
cout<<endl;
for(int i = 0; i < 8;i++){
bN[i] = bN[i] * multi[i];
cout<< bN[i];
}
cout<<endl;
for(int i = 0; i < 8;i++){
total += bN[i]
cout<<total;
}
cout<<endl;
remain = total % 10;
if(remain == (bankNum[9] - 48)){
cout<<"The Number is valad"<<endl;
cout<<remain<<endl;
}
}
et les erreurs
wm018@cs:~$ c++ bankNum.cpp
bankNum.cpp: In function âint main()â:
bankNum.cpp:9:19: warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
bankNum.cpp:9:38: error: cannot convert â<brace-enclosed initializer list>â to âintâ in initialization
bankNum.cpp:30:3: error: expected â;â before âcoutâ
source d'informationauteur Christian Gardner | 2014-02-05
Vous devez vous connecter pour publier un commentaire.
Ce style d'initialisation, en utilisant des accolades:
a été introduit à la langue en 2011. Les compilateurs plus âgés ne prennent pas en charge; d'autres plus récents (comme le vôtre) seulement prendre en charge, si vous le leur dire; pour votre compilateur:
Cependant, cette forme d'initialisation n'est toujours pas valable pour les tableaux créés avec
new
. Depuis qu'elle est petite et n'a utilisé que localement, vous pouvez déclarer un local de tableau; ce qui n'a pas besoin de C++11:Cela a aussi l'avantage de fixer la fuite de mémoire - si vous utilisez
new
d'allouer de la mémoire, alors vous devriez gratuit avecdelete
lorsque vous avez terminé avec elle.Si vous avez besoin d'allocation dynamique, vous devez utiliser
std::vector
pour allouer et libérer de la mémoire pour vous:Méfiez-vous que votre version de GCC est assez ancien, et le manque de support de C++11.