Форум программистов, компьютерный форум, киберфорум
Наши страницы

Неоднозначность декларации - 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>... http://www.cyberforum.ru/cpp-beginners/thread1809822.html
Параллельное программирование. Замена кириллицы латиницей C++
Требуется написать программу, сначала последовательно, затем с использованием технологии OpenMP, которая реализует следующие действия: фрагмент текста поместить в двумерный массив, русские буквы...
C++ Случайные координаты на заданном расстоянии от точки
Есть некое 3х мерное пространство, обусловленное координатами X Y Z. Есть координатная точка: X1 = 8 Y1 = -13 Z1 = 120 Нужно получить 2ю случайную точку, но чтобы она не была дальше от 1й на...
C++ Исправить программу так, чтобы получился однонаправленный список http://www.cyberforum.ru/cpp-beginners/thread1809763.html
Надо исправить программу так чтобы получился однонаправленный список. Необходимо предусмотреть режим сортировки элементов списка без перестановки самих элементов. #include<stdio.h>...
C++ Напишите программу, которая ищет элемент массива и выводит на экран его номер Напишите программу, которая ищет элемент массива и выводит на экран его номер. подробнее

Показать сообщение отдельно
DrOffset
7517 / 4513 / 1025
Регистрация: 30.01.2014
Сообщений: 7,362
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 ]
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru