Langage C++, aspects avancés
Parmi les déclaration suivantes, quelle est celle qui provoque une erreur de compilation ?
template<class T1, class T2> void f5(T1, T2);
template<class T> void f6(T&, int);
template<int i> void f3 (i);
template<class T> void f7(Vector<List<T>>);
A partir des définitions suivantes : template<class T> T Max(T a, T b) { return a>b?a:b; } int i; int j; char c; char d; char* str1; char* str2; Quelle instruction provoque une erreur de compilation ?
int Ri = Max(i,j);
int Rc = Max(c,d);
int Rx = Max(i,c);
char* Rstr = Max(str1, str2);
Dans l'exemple suivant : vector<int> v1; vector<int>::iterator i = v1.begin(); while (i != v1.end()) { cout << *i; i.next(); } Quelle ligne provoque une erreur
vector<int>::iterator i = v1.begin();
while (i != v1.end()) {
cout << *i;
i.next();
A partir du code suivant : void main() { int tab[] = {0, 1, 4, 2, 3, 2, 7, 3, 9, 3}; multiset<int> ens; ens.insert(&tab[0], &tab[10]); multiset<int>::iterator i; i = ens.find(3); while (i != ens.upper_bound(3)) { cout << *i << " "; i++; } } Quel est le résultat de l'exécution
3 3 3
0 1 4
0 1 2 3 2 3 3
3 2 7 3 9 3