Am tastat acest cod în Geany:
void copy_fct()
{
int v1[10] = {0,1,2,3,4,5,6,7,8,9};
int v2[10] = {0,0,0,0,0,0,0,0,0,0};
// pentru a deveni o copie a v1
for(auto i=0; i!=10; ++i) // copiază elemente
v2[i]=v1[i];
// ...
}
în timp ce, când l-am compilat, a existat întotdeauna o linie roșie de undă sub „int v2[10]”, am încercat „int v2[] = {0,0,0,0,0,0,0,0,0, 0};" "int v2[];" și „int v2[10] = {};”, la fel, am încercat să declar v2 în afara „copy_fct()”, a fost OK, dar, dacă vreau să-l declar în interiorul „copy_fct()”, există o declarație aici fără a coborî nivelul de avertizare (acum este implicit „Perete”)?
Întregul cod a fost:
#include <iostream>
folosind namespace std;
int main()
{
std::cout<<"Bună ziua, lume!\n";
}
bool accept3()
{
int încearcă = 1;
în timp ce(încearcă <4){
cout << "Doriți să continuați (y sau n)?\n"; // scrie întrebarea
răspuns char = 0;
cin >> raspuns; // citeste raspunsul
comuta(raspunde){
cazul „y”:
returnează adevărat;
cazul 'n':
returnează fals;
Mod implicit:
cout << "Îmi pare rău, nu înțeleg asta.\n";
++încearcă; // increment
}
}
cout << "Voi lua asta pentru un nu.\n";
returnează fals;
}
void copy_fct()
{
int v1[10] = {0,1,2,3,4,5,6,7,8,9};
int v2[10] = {0,0,0,0,0,0,0,0,0,0};
// pentru a deveni o copie a v1
for(auto i=0; i!=10; ++i) // copiază elemente
v2[i]=v1[i];
// ...
}