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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
#1

Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) - C++

21.05.2013, 23:54. Просмотров 842. Ответов 9
Метки нет (Все метки)

День добрый всем.
Вот я тут нарвался на тестирование по C++. И попалось мне в этом тесте одно задание, которое я никак не могу понять, не могли бы вы помочь с разъяснением. Windows 7, VS 2011.

Есть следующий код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int _tmain(int argc, _TCHAR* argv[])
{
    typedef float(*n)();
    goto nam;
nam:
    struct nam
    {
        int nam;
        float nam;
    } nam;
    union nam
    {
        int nam;
        float f;
    } f;
    class f
    {
        int nam;
        long f;
    } nam;
 
    enum Nm
    {
        val1,
        val2,
        f
    } n;
    return 0;
}
Нужно указать в каких строчках есть ошибка. Я конечно все это вбил в среде разработки, увидел все ошибки. И не могу понять один из типов ошибок:
error C2461: wmain::nam: отсутствие в синтаксисе конструктора формальных параметров
и ругается на строчку, где идет определение параметров в структуре, на int nam; и на float nam; 17 и 18 строчки соответственно. Вот я и не могу понять, почему для компилятора это ошибка. Подскажите советом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) (C++):

Тест на знание синтаксиса языка C++ - C++
Всем доброго времени суток. Ситуация следующая: спустя много-много лет, решил я таки получить высшее образование и восстановился в...

Тест на знание работы компилятора - C++
Привет, начал проходить курс по С++, и тут ступор. Нужно выбрать буквы верных утверждений : а) Код программы, написанный на языке,...

Как усовершенствовать программу-тест на знание астрономии? - C++
#include <windows.h> #include <iostream> #include <string> int main() { using namespace std; setlocale(LC_ALL,...

Ошибка в нескольких строчках. Конструкторы и деструкторы - C++
Какие ошибки в фрагменте кода? Что нужно вычеркнуть? class X { int i; double t; x() { i=0; t=1.0; cout<<1; } public:

Определить количество отрицательных элементов в тех строчках матрицы, где есть хотя бы один нулевой элемент - C++
Подскажите каким образом можно реализовать следующее: В прямоугольной целочисленной матрице определить кол-во отрицательных элементов в...

Определить, в каких ячейках есть только одно слово - MS Excel
Добрый день друзя Прошу помочь в решении вопроса Задача такова, в одном столбике записанны слова, в них есть которые состоят из...

9
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:01 #2
lexus_ilia, тут нужно все разбить на части

C++
1
typedef float(*n)();
C++
1
2
goto nam;
nam:
C++
1
2
3
4
5
struct nam
    {
        int nam;
        float nam;
    } nam;
C++
1
2
3
4
5
union nam
    {
        int nam;
        float f;
    } f;
C++
1
2
3
4
5
class f
    {
        int nam;
        long f;
    } nam;
C++
1
2
3
4
5
6
enum Nm
    {
        val1,
        val2,
        f
    } n;
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:01  [ТС] #3
Цитата Сообщение от lexus_ilia Посмотреть сообщение
17 и 18 строчки соответственно
Строчки 7 и 8, конечно же.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:04 #4
lexus_ilia, первое я так понимаю попутка создание синонима указателя на функцию которая возвращает
float и и в качестве аргумента ничего не принимает. Второе часть оператора goto, третье - определение структуры nam и переменной такого же имени что выдает ошибку конечно, четвертое - объединение, пятое класс, шестое - перечисление, теперь ищите ошибки.
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:08  [ТС] #5
Не, погодите. Я понимаю все ошибки, кроме той, которая описана в 8 и 9-ой строках соответственно. Вопрос мой такой: "Почему компилятор ругается на эти строки (7,8), что в них не так?"
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:10 #6
lexus_ilia, а вы посмотрите на название переменных? ничего нет странного?
0
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:14  [ТС] #7
В структуре переменные объявлены также как и название структуры и также как и декларация этой стурктуры. Я не знаю правил, по поводу стурктур, можно ли называть переменный также как и саму структуру? Если нет, то укажите источник где это написано. MSDN не рассказывает про это http://msdn.microsoft.com/en-us/library/64973255.aspx
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:17 #8
lexus_ilia, error C2380: типы перед "nam" (конструктор с возвращаемым типом или недопустимое переопределение текущего имени класса
1
lexus_ilia
3048 / 708 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:19  [ТС] #9
Да, спасибо. Я нашел ответ вот тут: http://msdn.microsoft.com/en-us/library/ak13cdwh.aspx написано, что нельзя использовать название переменных такое же как и название класса (читай структуре), правила теже. Разобрался.
0
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:20 #10
lexus_ilia, ну мне кажется это довольно логично
0
22.05.2013, 00:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 00:20
Привет! Вот еще темы с ответами:

Тест на знание Delphi - Delphi
На знание Delphi то есть мне нужны просто готовые вопросы с ответами чтобы вставить в компонент RadioGroup

Тест на знание ассемблера - Assembler
Доброго времени суток, господа! В этом семестре нам преподавали системное программирование. Я немного не добрал до зачета и, чтобы...

Тест на знание Windows - JavaScript
Разработка гипертекстового документа "Тест на знание Windows"

Тест на знание работы и устройства процессоров - Процессоры
1.В какой модели процессора впервые была применена суперскалярная архитектура? 2.В каких моделях процессоров шина данных более 32...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru