Retourner au contenu associé (dépêche : C++17 branche à la compilation (`if constexpr`))
Posté par DerekSagan le 07 décembre 2016 à 17:41. En réponse à la dépêche C++17 branche à la compilation (`if constexpr`). Évalué à 1.
Dans l'exemple donné avec if_function, en fait ça ne marche pas avec gcc 7 ni le dernier clang, parce que T::f n'est pas une fonction statique.
Voir ici l'erreur de compilation:https://godbolt.org/g/qIPNxg
En revanche avec is_member_function_pointer on y arrive:https://godbolt.org/g/NNbYBw
Il y a peut-être d'autre façon de corriger, je ne suis pas un gourou méta-programmation.
L'exemple cité dans le corps de la dépêche ne compile que parce que le template n'est pas instancié mais seulement défini.
Voilà, vivement c++17, et merci pour la dépêche instructive.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# dans l'exemple, is_function ne marche pas, il faut utiliser is_member_funciton_pointer
Posté par DerekSagan . En réponse à la dépêche C++17 branche à la compilation (`if constexpr`). Évalué à 1.
Dans l'exemple donné avec if_function, en fait ça ne marche pas avec gcc 7 ni le dernier clang, parce que T::f n'est pas une fonction statique.
Voir ici l'erreur de compilation:
https://godbolt.org/g/qIPNxg
En revanche avec is_member_function_pointer on y arrive:
https://godbolt.org/g/NNbYBw
Il y a peut-être d'autre façon de corriger, je ne suis pas un gourou méta-programmation.
L'exemple cité dans le corps de la dépêche ne compile que parce que le template n'est pas instancié mais seulement défini.
Voilà, vivement c++17, et merci pour la dépêche instructive.