[C con Clase] Ejemplo 16.3
Alejandro Alcalde
algui91 en gmail.com
Jue Sep 23 12:59:31 CEST 2010
Hola, el ejemplo 16.3, de las uniones no me compila.
ejemplo D = {"hasta pronto"}; // Aqui me lanza el error: error: in C++98
‘D’ must be initialized by constructor, not by ‘{...}’
Y warnings: warning: extended initializer lists only available with
-std=c++0x or -std=gnu++0x
El ejemplo es este:
#include <iostream>
#include <cstring>
using namespace std;
union ejemplo {
int x;
double d;
char cad[8];
ejemplo(int i) : x(i) {}
ejemplo(double n) : d(n) {}
ejemplo(const char *c) {
strncpy(cad, c, 7);
cad[7] = 0;
}
};
int main() {
ejemplo A(23);
ejemplo B(123.323);
ejemplo C("hola a todos");
ejemplo D = {"hasta pronto"};
cout << "A: " << A.x << endl;
cout << "B: " << B.d << endl;
cout << "C: " << C.cad << endl;
cout << "D: " << D.cad << endl;
return 0;
}
--
*Saludos, Alejandro A.B.
Mi blog: http://bashyc.blogspot.com/*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100923/a1e520e7/attachment.html>
Más información sobre la lista de distribución Cconclase