2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
bug - plures definitiones
Problema tuum est ambiguum errorem in tuo C++ codice offendere quod "referre ad "data" est ambiguum. Hic error plerumque evenit cum referre conaris variabilem definitionem multiplicem.
In codice tuo, notitia variabilis globalis definis. Eodem tempore, munus est etiam templates nomine notas in bibliotheca C++ vexillum. Cum data in fib munus uteris, compilator determinare non potest utrum ad global notitiae variabiles an std::datas referre velis, ambiguum errorem praebet.
Ad hanc solvendam quaestionem, nomen variabilis notitiae globalis mutare potes, vel expresse denotare vis globalem variabilem in vocatione.
Solutio I: Mutare nomen variabilis global
cpp
#includere<iostream>
utens spatii spatio std;
int mod=1e9+7;
int fibData[10000];
int fib (int n){
if(n==1||n==2){fibData[n]=1;remitte fibData[n];}
si(fibData[n]!=0)reditu fibData[n];
fibData[n]=fibData[n-1]+fibData[n-2];
return fibData[n];
}
int main() {
int t;
cin >>t;
nam (int i = 0, i *
int n;
cin >>n;
cout<
}
remittere 0;
}
Solutio II: Expresse denotare vis variabilem globalem referre quando vocantem
cpp
#includere<iostream>
utens spatii spatio std;
int mod=1e9+7;
int data[10000];
int fib (int n){
if(n==1||n==2){::data[n]=1;remitte ::data[n];} // Add ' ::' in fronte ut distincte exprimas te velle referre quod global variabilis
si(::data[n]!=0)return ::data[n];
::data[n]=::data[n-1]+::data[n-2];
return ::data[n];
}
int main() {
int t;
cin >>t;
nam (int i = 0, i *
int n;
cin >>n;
cout<
}
remittere 0;
}