Форум программистов, компьютерный форум CyberForum.ru

Неоднозначность декларации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести предложение: « 6 подростков купили по 6 стаканов колы» http://www.cyberforum.ru/cpp-beginners/thread1809866.html
floor Дано действительное число 6,54 . Вывести предложение: « 6 подростков купили по 6 стаканов колы».
C++ Нарушение прав доступа при присваивании вектора Здравствуйте! Помогите исправить ошибку. В строке присваивания вектора возникает исключение. // инициализация списка инцидентности struct list * init(int num, vector<int> sv, vector<int> id) { http://www.cyberforum.ru/cpp-beginners/thread1809822.html
Параллельное программирование. Замена кириллицы латиницей C++
Требуется написать программу, сначала последовательно, затем с использованием технологии OpenMP, которая реализует следующие действия: фрагмент текста поместить в двумерный массив, русские буквы заменить на латиницу. При этом вычислить максимальное, минимальное и среднее время выполнения программы. Провести анализ при различных вариантах распараллеливания (по строкам, столбцам и блокам) и с...
C++ Случайные координаты на заданном расстоянии от точки
Есть некое 3х мерное пространство, обусловленное координатами X Y Z. Есть координатная точка: X1 = 8 Y1 = -13 Z1 = 120 Нужно получить 2ю случайную точку, но чтобы она не была дальше от 1й на 50единиц. Как можно используя функцию рандома рассчитать, чтобы не вылезало за пределы этой сферы вокруг 1й точки?
C++ Исправить программу так, чтобы получился однонаправленный список http://www.cyberforum.ru/cpp-beginners/thread1809763.html
Надо исправить программу так чтобы получился однонаправленный список. Необходимо предусмотреть режим сортировки элементов списка без перестановки самих элементов. #include<stdio.h> #include<iostream> #include<math.h> struct dek { int a; dek*link; }; int main () { int k,n;
C++ Напишите программу, которая ищет элемент массива и выводит на экран его номер Напишите программу, которая ищет элемент массива и выводит на экран его номер. подробнее

Показать сообщение отдельно
DrOffset
6909 / 4102 / 933
Регистрация: 30.01.2014
Сообщений: 6,893
19.09.2016, 09:32     Неоднозначность декларации
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
посчитает Bar() инициализацией объекта или декларацией функции?
Будет декларация функции.
См. здесь: Most Vexing Parse

Добавлено через 5 минут
8.2/1
The ambiguity arising from the similarity between a function-style cast and a declaration mentioned in 6.8
can also occur in the context of a declaration. In that context, the choice is between a function declaration
with a redundant set of parentheses around a parameter name and an object declaration with a function-style
cast as the initializer. Just as for the ambiguities mentioned in 6.8, the resolution is to consider any construct
that could possibly be a declaration a declaration
. [ Note: A declaration can be explicitly disambiguated by
a nonfunction-style cast, by an = to indicate initialization or by removing the redundant parentheses around
the parameter name. —end note ] [ Example:
C++
1
2
3
4
5
6
7
8
9
struct S {
    S(int);
};
void foo(double a) {
    S w(int(a)); // function declaration
    S x(int()); // function declaration
    S y((int)a); // object declaration
    S z = int(a); // object declaration
}
—end example ]
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru