Resultados de la búsqueda a petición "most-vexing-parse"

1 la respuesta

Constructor no devuelve objeto utilizable

Tengo un problema con el constructor, que no funciona como esperaba. Si trato de inicializar mi clase así, funcionará y obtendré un objeto utilizable: vector<float> v; MyClass<2> a(v); Sin embargo, si trato de construir una clase como la ...

2 la respuesta

Entender 'el análisis más desconcertante': ¿por qué permitir una sintaxis ambigua?

Al tratar de comprender el problema del &quot;análisis más desconcertante&quot; en C / C ++, esta pregunta viene inmediatamente a la mente: ¿por qué tener un...

9 la respuesta

Constructor por defecto con corchetes vacíos

2 la respuesta

C ++ ¿El análisis más irritante cuando un argumento es un número literal? [duplicar

Esta pregunta ya tiene una respuesta aquí: ¿Por qué los inicializadores en clase solo pueden usar = o {}? [/questions/16329962/why-can-in-class-initializers-only-use-or] 1 respuesta Estaba haciendo una clase que se veía así: struct ...

2 la respuesta

l constructor @Vector con dos parámetros se analiza como una declaración de función

Considere este ejemplo: #include <iostream> #include <string> #include <vector> #include <iterator> int main() { std::string sen = "abc def ghi jkl"; std::istringstream iss(sen); std::vector<std::string> // declaration in ...

1 la respuesta

¿Cómo es este un análisis muy irritante?

Estaba pasando por estoartículo [http://herbsutter.com/2013/05/09/gotw-1-solution/] y hay una declaración en el ítem 3 que dice // C++98 rectangle w( origin(), extents() ); // oops, vexing parse¿Cómo es lo anterior un análisis más irritante? Si ...

2 la respuesta

mecanismo de invocación del constructor

struct my { my(){ std::cout<<"Default";} my(const my& m){ std::cout<<"Copy";} ~my(){ std::cout<<"Destructor";} }; int main() { my m(); //1 my n(my()); //2 } Rendimiento esperado : 1 ) Default 2 ) CopySalida real: ¿Qué hay de malo en mi ...

2 la respuesta

¿Por qué C ++ nos permite rodear el nombre de la variable entre paréntesis al declarar una variable?

Por ejemplo, una declaración como esa: int (x) = 0;O incluso eso: int (((x))) = 0;Me topé con esto porque en mi código tuve un fragmento similar al siguiente: struct B { }; struct C { C (B *) {} void f () {}; }; int main() { B *y; C (y); ...

2 la respuesta

C ++ 11 Diferencia en constructores (llaves)

Soy bastante nuevo en C ++ y he observado que las siguientes líneas de código actúan de manera diferente MyClass c1; c1.do_work() //works MyClass c2(); c2.do_work() //compiler error c2228: left side is not a class, structure, or union. MyClass ...

4 la respuesta

Un detalle confuso sobre el Parse más irritante

Mi pregunta es cómo se puede analizar la siguiente línea como una declaración de función: vector<int> v(istream_iterator<int>(cin), istream_iterator<int>()); Entiendo la mayoría de los detalles del análisis más irritante y por qué el segundo ...