C'est effectivement une solution.
Malheureusement dans mon cas réel d'utilisation je l'emploie déjà sur ces opérateurs avec pas mal de SFINAE et de métaprogrammation pour définir lesquels doivent...
Type: Messages; Utilisateur: gb_68
C'est effectivement une solution.
Malheureusement dans mon cas réel d'utilisation je l'emploie déjà sur ces opérateurs avec pas mal de SFINAE et de métaprogrammation pour définir lesquels doivent...
Avec cette hypothèse, en contournement il est possible d'extraire l'énumération dans une autre structure puis d'en hériter (pour garder la syntaxe imitant les class enum) ; ainsi le type want_op...
Autre code sans le namespace test
namespace foo
{
struct base
{
template<typename L, typename R>
friend int operator|(const L & , const R &)
{ return 0; }
...
Sans cet opérateur aucune des lignes ne peut compiler car le type foo::want_op - qui est une structure - y est toujours impliqué.
Avec les compilateurs (GCC/Clang) présents sur la page...
D'après le point 6.4.2.2 de la norme (page 55): Les namespaces de classes associées sont également considérées (les classes associées comprenant les classes héritées directement ou indirectement),...
Bonjour,
j'ai un problème avec un opérateur récalcitrant ; je soupçonne fortement un problème d'ADL (Argument-dependent lookup) :
namespace test
{
template<typename L, typename R>
...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.