Resultados da pesquisa a pedido "most-vexing-parse"

2 a resposta

A construção da chamada de função temporária é interpretada como declaração

Ultimamente, encontrei um problema que de alguma forma (mas apenas de alguma forma) faz sentido para mim. Ele é baseado na interpretação da construção de um temporário como declaração do argumento do construtor único (!). Por favor, dê uma olhada ...

1 a resposta

Existe alguma diferença entre `List x;` e `List x ()`

O título vem do famoso sitePerguntas frequentes sobre C ++ por Marshall Cline.O autor afirma que há uma diferença entre os dois exemplos de código a seguir.S...

4 a resposta

Construtor padrão c ++

Estou tentando entender como o construtor padrão (fornecido pelo compilador se você não escrever um) versus seu próprio construtor padrão funciona. Então, por exemplo, eu escrevi esta classe simples: class A { private: int x; public: A() { ...

2 a resposta

g ++ rejeita, clang ++ aceita: foo (x) ("bar") ("baz");

Alguém tevePerguntou [https://stackoverflow.com/questions/28254915/code-compiles-with-clang-but-not-with-gcc/28255085] no outro dia, por que algo compila com clang, mas não com gcc. Eu entendi intuitivamente o que estava acontecendo e fui capaz ...

9 a resposta

Construtor padrão com colchetes vazios

Existe algum bom motivo para que um conjunto vazio de colchetes (parênteses) não seja válido para chamar o construtor padrão em C ++?

3 a resposta

Por que objetos anônimos às vezes exigem um construtor padrão?

Se eu escrever o seguinte programa, ele funcionará conforme o esperado: struct Foo { Foo (std::string x) { std::cout << x << std::endl; } }; int main () { Foo("hello, world"); }No entanto, se eu escrever um programa um pouco diferente, recebo um ...

3 a resposta

Erro de compilação do C ++ na construção de objeto com rvalue std :: string

Estou diante de um erro de compilação que nem sei descrever! Isso me deixa completamente perplexo. A situação: O código tenta criar um objeto na pilha com um rvalue std :: string que é inicializado com um caractere *. O código: #include ...

2 a resposta

Entendendo a análise mais problemática - por que permitir uma sintaxe ambígua?

Ao tentar entender o problema &quot;Mais problemático&quot; em C / C ++, essa questão vem imediatamente à mente - por que uma sintaxe que faz com que esse pr...

1 a resposta

Most vexing parse

Eu recebi o código deAqu [http://en.wikipedia.org/wiki/Most_vexing_parse]. class Timer { public: Timer(); }; class TimeKeeper { public: TimeKeeper(const Timer& t); int get_time() { return 1; } }; int main() { TimeKeeper time_keeper(Timer()); ...

4 a resposta

Um detalhe confuso sobre o Most Vexing Parse

Minha pergunta é como a seguinte linha pode ser analisada como uma declaração de função: vector<int> v(istream_iterator<int>(cin), istream_iterator<int>()); Entendo a maioria dos detalhes do Most Vexing Parse e por que o segundo ...