0
votes

C ++: std imbriqué :: conditionnels

J'ai une structure d'image simple qui contient entre autres choses les données d'image réelles. Il peut être stocké dans des commandes différentes. Ceci est une simplification de la structure utilisée: xxx

J'essaie de limiter l'ordre de couleur possible en fonction du nombre de canaux avec le std :: conditionnel. Par exemple. La commande ne devrait pas être RGBA au cas où nous n'avions qu'une seule image de canal. Cela fonctionne essentiellement. Cependant, si j'essaie de par défaut l'ordre de couleur à inconnu pour tous les cas, il ne compile plus. Bien que inconnu est présent dans toutes les enums. L'erreur résultante que je reçois est: xxx

je suppose que mon std :: conditionnel est en réalité échoué. Comment écrire cela correctement?

Merci d'avance pour tout retour.


0 commentaires

3 Réponses :


3
votes

vous manquez un :: type pour le std :: conditionnel xxx

ou en c ++ 14, xxx


2 commentaires

Oui! Merci beaucoup!, je me suis aussi compris.


Oh oui, des points supplémentaires pour la version C ++ 14! Way Binger!



1
votes

.. Ah man, si vite après avoir posé la question que j'ai compris ce qui est faux: xxx

notez le type typename et :: Type que j'ai raté auparavant.


1 commentaires

Vous pouvez utiliser std :: conditionnel_t au lieu de typename std :: conditionnel Si vous utilisez C ++ 14 ou plus tard. Ceci est vrai pour la plupart des traits de type.