Resultados da pesquisa a pedido "most-vexing-parse"
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 ...
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...
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() { ...
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 ...
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 ++?
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 ...
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 ...
Entendendo a análise mais problemática - por que permitir uma sintaxe ambígua?
Ao tentar entender o problema "Mais problemático" em C / C ++, essa questão vem imediatamente à mente - por que uma sintaxe que faz com que esse pr...
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()); ...
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 ...