Вопросы по теме 'most-vexing-parse'
Почему это не неприятный разбор?
По сути, это продолжение этот вопрос о наиболее неприятном анализе. Я могу понять, что это связано с двусмысленностью между объявлением функции и определением переменной.
А вот в коме онлайн меня просто утомило следующее.
class T{
public:...
210 просмотров
schedule
29.10.2022
С++ - Что это делает, если конструктор является закрытым?
Почему в приведенном ниже коде компилятор не жалуется на mClass2?
class CMyClass{
private:
CMyClass(){}
};
void TestMethod(){
CMyClass mClass1; //Fails.
CMyClass mClass2(); //Works.
}
445 просмотров
schedule
28.10.2022
Запутанная деталь о самом неприятном разборе
Мой вопрос заключается в том, как следующую строку можно проанализировать как объявление функции:
vector<int> v(istream_iterator<int>(cin), istream_iterator<int>());
Я понимаю большинство деталей самого раздражающего...
2699 просмотров
schedule
14.12.2022
Разница в синтаксисе унифицированной инициализации
Какая разница между делать
A a{ A() };
а также,
A a( A{} );
чтобы избежать самого неприятного разбора ? Когда я должен использовать конкретный?
1044 просмотров
schedule
30.08.2022
Наследование от std::vector, ошибка компилятора? (самый неприятный разбор)
Для тех, кто видит этот вопрос: взгляните на ответ и рассмотрите возможность использования: cdecl
Почему приведенный ниже код выдает ошибку компилятора:
prog.cpp: In function ‘int main()’:
prog.cpp:23:4: error: request for member ‘size’ in...
165 просмотров
schedule
20.07.2022
По какой причине в этом случае я получаю запрос на член с ошибкой неклассового типа?
Я обнаружил сложную (по крайней мере для меня: D) проблему в следующем коде:
class Beta
{
public:
Beta(double d)
{
value = d;
}
double getValue() const
{
return value;
}...
97 просмотров
schedule
10.07.2022
Почему конструктор A не вызывается для оператора A x(A())?
Это очень простой вопрос о C++. Почему не вызывается конструктор для оператора "A x(A())"?
В следующем коде, который я запускал с g++ 4.8.2, конструктор (как и деструктор) вызывается только один раз. Это может быть связано с оптимизацией, но мне...
366 просмотров
schedule
26.10.2022
Сбой конструктора копирования С++
Я просмотрел различные варианты, предложенные в качестве вопросов, на которые, по мнению Stackoverflow, уже может быть ответ, но ничего из того, что я видел, не приблизилось.
Образец кода:
#include <math.h>
class v2
{
public:
float...
195 просмотров
schedule
03.11.2022
Как инициализировать значение объекта типа шаблона в C ++ 03
Предположим, у меня есть шаблон функции и я хочу объявить объект, инициализированный значением:
template<typename T>
void foo() {
// declare and default-initialize 'x' of type 'T'
}
Могу ли я это сделать?
T x; не работает с...
87 просмотров
schedule
03.03.2022
Указывает ли указание использования void в объявлении функции, не принимающей аргументов, на самый неприятный анализ?
Является ли Most Vexing Parse корнем двусмысленности относительно того, следует ли использовать void в качестве параметра объявления функции, которая не принимает аргументов?
Например, следующий код компилируется без ошибок и работает нормально...
160 просмотров
schedule
01.04.2022
Путаница с конструкторами перемещения: невозможно вызвать конструктор перемещения
У меня возникли трудности с пониманием конструкторов перемещения в C++. Я сделал простой класс с конструктором по умолчанию, конструктором копирования, конструктором перемещения и деструктором. Кроме того, я определил функцию с двумя перегрузками:...
800 просмотров
schedule
30.11.2022
Самый неприятный разбор с доступом к массиву
Просматривая какой-то код C++03, я обнаружил пример самого неприятного синтаксического анализа , который меня смутил:
#include <sstream>
#include <string>
int main(int, char** argv)
{
std::stringstream ss(std::string(argv[0]));...
1309 просмотров
schedule
13.12.2023
конструктор по умолчанию сложного класса не работает
Согласно http://www.cplusplus.com/reference/complex/complex/complex/ , класс complex<double> имеет конструкцию по умолчанию в форме complex (double re = 0.0, double im = 0.0); . Однако я не знаю, действительно ли это правильно. Может ли...
158 просмотров
schedule
18.10.2022
Неясный самый неприятный разбор
Предположим, что есть следующий класс Foo.
struct Foo
{
int i;
};
если я хочу создать экземпляр этого класса и инициализировать его, я должен сделать: Foo foo1 = Foo(); для вызова конструктора.
int main(void)
{
foo1 = Foo();...
106 просмотров
schedule
28.11.2022