fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct TYPE1 {
  5. TYPE1(const char *name, int val) : a(val) {}
  6. int a;
  7. };
  8.  
  9. struct TYPE2 {
  10. char g[3];
  11. };
  12.  
  13. struct PARAMS {
  14. PARAMS(int address, const char *name, const TYPE1 &f) :
  15. Address(address), Name(name), u(f)
  16. {
  17. }
  18. PARAMS(int address, const char *name, const TYPE2 &b) :
  19. Address(address), Name(name), u(b)
  20. {
  21. }
  22.  
  23. int Address;
  24. char const *Name;
  25. union union_name
  26. {
  27. union_name(const TYPE1 &f) : foo(f) {}
  28. union_name(const TYPE2 &b) : bar(b) {}
  29. TYPE1 foo;
  30. TYPE2 bar;
  31. }u;
  32. };
  33.  
  34. const PARAMS paramTbl[] {
  35. PARAMS(0x1000, "Param1", TYPE1("abc", 0)),
  36. };
  37.  
  38. int main() {
  39. cout << paramTbl[0].Name << endl;
  40. return 0;
  41. }
Success #stdin #stdout 0s 3140KB
stdin
Standard input is empty
stdout
Param1