Resultados da pesquisa a pedido "using-declaration"

2 a resposta

Namespace usando declaração (bug no GCC / VS2010)?

namespace A{ int i; } int main(){ using A::i; using A::i; }VS2010 - compila bem gcc (ideone) - compila bem Comeau - fornece o erro "" ComeauTest.c ", linha 10: erro:" i "já foi declarado no escopo atual usando A :: i;" $ 7.3.3 / 8 - "Uma ...

3 a resposta

c ++ usando declaração, escopo e controle de acesso

Normalmente, a declaração 'using' é usada para trazer para o escopo algumas funções de membros das classes base que, de outra forma, estariam ocultas. Desse ponto de vista, é apenas um mecanismo para tornar as informações acessíveis ...

1 a resposta

Uma declaração de uso não pode ser repetida no escopo da função. Por que é que?

No [namespace.udecl] / 10, você tem o seguinte exemplo: namespace A { int i; } namespace A1 { using A::i; using A::i; // OK: double declaration } void f() { using A::i; using A::i; // error: double declaration } Esse trecho é compilado no clang.

3 a resposta

usando diretiva vs usando declaração swap em C ++

Por favor, consulte o código abaixo:

2 a resposta

Declaração de classe no mesmo escopo que o uso de compilações de declaração no GCC, mas não no MSVS

O programa a seguir está bem formado de acordo com o padrão c ++? namespace X { class A; } namespace Y { using X::A; class A {}; } int main() {} Estou obtendo resultados diferentes com diferentes compiladores: O gcc o compila sem erros.O visual ...

4 a resposta

C ++ usando a palavra-chave

Qual é a diferença entre esses dois usos deusing palavra-chave: using boost::shared_ptr; using namespace boost;

2 a resposta

Programa com encadeamento de compilações de declarações de uso no MSVS e clang, mas não no GCC

O programa a seguir está bem formado ou mal formado de acordo com o padrão c ++? namespace X { int i; } namespace Y { using X::i; } int main() { using X::i; using Y::i; }Estou obtendo resultados diferentes com diferentes compiladores: MSVS: ...

1 a resposta

Sobrecarga de resolução entre membros do modelo nas classes base e derivada

O compilador da Microsoft (Visual Studio 2017 15.2) rejeita o seguinte código: #include <type_traits> struct B { template<int n, std::enable_if_t<n == 0, int> = 0> void f() { } }; struct D : B { using B::f; template<int n, std::enable_if_t<n == ...