Disons que j'ai une fonction MyFunction qui renvoie une valeur de 0 à 10. 0 indique un succès et une erreur non nulle. Si je veux afficher une MessageBox avec la valeur que si elle est différente de zéro, je dois faire ce qui suit:Comment déclarer une variable dans une condition if?
int e = MyFunction();
if (e != 0) { MessageBox(e); }
Si je veux avoir l'int variable e pour être locale sans provoquer de redéfinition (parce que je suis mauvais à nommer ou de quelque chose) je peux enfermer le tout dans des accolades et d'isoler la variable comme ceci:
int e;
{ int e = MyFunction(); if (e != 0) { MessageBox(e); } }
Est-il cependant possible de compresser ce en une seule instruction if au lieu comme ceci:
if (int e = MyFunction() != 0) { MessageBox(e); } //obviously does not work as intended
Je sais si les instructions ne fonctionnent pas vraiment de cette façon mais est-il possible de le faire quand même en utilisant un peu de magie C++? Cela peut sembler trivial pour vous les gars, mais je veux vraiment faire ça. J'ai fait une recherche, a également demandé, mais pas de dés. Merci!
_... C++ magie ... Demandez à la licorne. –
_ parce que je suis mauvais à nommer ou quelque chose_ hmm ... :) – erip
Qu'en est-il d'utiliser des exceptions pour la gestion des erreurs? – simpel01