Zdravim vsechny, kompiluju ted svuj projekt v C++ pod C++11 a chtěl bych se zeptat
Když volám tohle:
Objekt p = {5,7,8,9};
Jak to zachytim v tride?
dekuji za odpovedi :-)
class Objekt {
public:
Objekt (std::initializer_list<int> list);
};
Čerpám to zde: http://www.stroustrup.com/C++11FAQ.html
#1 cibule
To co chces pouzit sa vola Uniform Initialization
#include <iostream>
#include <initializer_list>
struct A{
int a;
long b;
float c;
void print(){std::cerr << a << ", " << b << ", " << c << "\n";}
};
struct B{
B(int){std::cerr << "B(int)\n";}
B(int, int){std::cerr << "B(int, int)\n";}
};
struct C{
C(std::initializer_list<int>){std::cerr << "C(std::initializer_list<int>)\n";}
};
int main(){
//vsetky '=' mozu byt vynechane:
int i = {1};
A s1 = {1, 2, 3.0}; s1.print();
A s2 = {1}; s2.print();
B s3 = {1};
B s4 = {{1}};
B s5 = {1, 2};
C s6 = {1, 2, 3};
C s7[] = {{1,2,3}, {4, 5, 6}, {{1}, 2, {3}}};
return 0;
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku