Re: Stavový automat, goto - enum

Miroslav Mraz mrazik na volny.cz
Pátek Leden 27 18:11:05 CET 2023


V C++ to jde asi takto:
enum class tEnum1 { e1=0,  e2=1,  e3=2  };
enum class tEnum2 { e1=10, e2=11, e3=12 };

int main (void) {
//tEnum1 var0 = e2;   // error: ‘e2’ was not declared in this scope
   tEnum1 var1 = tEnum1::e2;
   tEnum2 var2 = tEnum2::e2;
//var1 = tEnum2::e1;  // error: cannot convert ‘tEnum2’ to ‘tEnum1’ in 
assignment
   printf("var1 = %d, var2 = %d\n", static_cast<int>(var1), 
static_cast<int>(var2));
   // => var1 = 1, var2 = 11
   return 0;
}
Všimněte si přetypování v argumentech printf. Bez něj to sice funguje, 
ale vyhodí varování. Ještě se k tomu vrátím.

Mrazík

On 27. 01. 23 17:38, Pavel Hudeček wrote:
> dejme tomu, že chcete
> tEnum1, který obsahuje e1=0, e2=1, e3=2
> tEnum2, který obsahuje e1=10, e2=11, e3=12
> 
> V C to nejde.
> 


Další informace o konferenci Hw-list