Domanda

Un punto dal bozza ISO C ++ N3290: 3.4.0 2nd Point

Un nome "alzato dal contesto di un'espressione" è considerato un nome non qualificato nell'ambito in cui si trova l'espressione.

Qualcuno spiegherebbe questa affermazione con un esempio?

È stato utile?

Soluzione

Dice che l'ambito che contiene l'espressione verrà cercato per il nome. cioè

namespace foo { 
  struct bar {
    void foobar() {
      do_something();
    }
  };
}

Se hai questo codice il nome do_something sarà perquisito nell'ambito di foobar, bar, foo e nell'ambito globale (e non in altri spazi dei nomi, strutture o ambiti di funzione)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top