J'ai une méthode qui ressemble à ceci:C++? opérateur continue opérateur boucle
bool Perfect(int num) {
int sum = 0;
for (int i = 1; i < num; i++)
{
num%i == 0 ? sum += i : continue;
}
return sum == num ? true : false;
}
J'essaie de combiner ici? opérateur continuer opérateur ...
donc logiquement si la déclaration ici est faux dans cette ligne:
num%i == 0 ? sum += i : continue;
Je vais sauter l'itération ou ne rien faire?
Si je le fais comme ça le compilateur signale une erreur comme:
expected an expression
Et en cas comme celui-ci:
num%i == 0 ? sum += i
Il dit:
Expected a ':'
Y at-il façon d'utiliser continuer avec? opérateur ou tout simplement éviter tout faux cas en quelque sorte ???
Ne pas forcer l'utilisation d'un ternaire dans un cas comme celui-ci; cela n'a aucun sens. Utilisez simplement if/else. Aussi, 'return sum == num? true: false; 'devrait simplement être écrit comme' return sum == num'; – Carcigenicate
@Carcigenicate Je suis juste en train d'explorer les possibilités de C++, c'est pourquoi je suis curieux de savoir s'il y a une solution pour utiliser l'opérateur ternaire avec ce genre de cas :) – User987
Les ternaires sont utilisés pour renvoyer conditionnellement une valeur. 'continuer' n'évalue rien d'utile. Expérimenter est bon, mais c'est aussi reconnaître le bon outil pour le bon travail. – Carcigenicate