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

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

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

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

21.05.2013, 23:54. Просмотров 813. Ответов 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 строчки соответственно. Вот я и не могу понять, почему для компилятора это ошибка. Подскажите советом.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 23:54     Знание языка 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++
Подскажите каким образом можно реализовать следующее: В прямоугольной целочисленной матрице определить кол-во отрицательных элементов в...

Задание: разработать "Интерпретатор языка". С чего начать? - C++
Здравствуйте, вручили темку на курсовик, ну точнее как вручили, не успел взять то, что хотел - пришлось брать то, что осталось. Плоховато...

Какие методы есть в C++ для работы с файлами и в каких случаях какой лучше применять - C++
Какие методы есть в С++ для работы с файлами и в каких случаях какой лучше применять? обычно пользовался freopen знаю еще есть fopen и ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:01     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #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;
lexus_ilia
3046 / 922 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:01  [ТС]     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #3
Цитата Сообщение от lexus_ilia Посмотреть сообщение
17 и 18 строчки соответственно
Строчки 7 и 8, конечно же.
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:04     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #4
lexus_ilia, первое я так понимаю попутка создание синонима указателя на функцию которая возвращает
float и и в качестве аргумента ничего не принимает. Второе часть оператора goto, третье - определение структуры nam и переменной такого же имени что выдает ошибку конечно, четвертое - объединение, пятое класс, шестое - перечисление, теперь ищите ошибки.
lexus_ilia
3046 / 922 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:08  [ТС]     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #5
Не, погодите. Я понимаю все ошибки, кроме той, которая описана в 8 и 9-ой строках соответственно. Вопрос мой такой: "Почему компилятор ругается на эти строки (7,8), что в них не так?"
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:10     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #6
lexus_ilia, а вы посмотрите на название переменных? ничего нет странного?
lexus_ilia
3046 / 922 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:14  [ТС]     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #7
В структуре переменные объявлены также как и название структуры и также как и декларация этой стурктуры. Я не знаю правил, по поводу стурктур, можно ли называть переменный также как и саму структуру? Если нет, то укажите источник где это написано. MSDN не рассказывает про это http://msdn.microsoft.com/en-us/library/64973255.aspx
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:17     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #8
lexus_ilia, error C2380: типы перед "nam" (конструктор с возвращаемым типом или недопустимое переопределение текущего имени класса
lexus_ilia
3046 / 922 / 34
Регистрация: 24.09.2008
Сообщений: 1,530
22.05.2013, 00:19  [ТС]     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #9
Да, спасибо. Я нашел ответ вот тут: http://msdn.microsoft.com/en-us/library/ak13cdwh.aspx написано, что нельзя использовать название переменных такое же как и название класса (читай структуре), правила теже. Разобрался.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2013, 00:20     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка)
Еще ссылки по теме:

Определить, есть ли в последовательности хотя бы одно число, кратное 7 - C++
не лезет в голову программа,хоть убейте,остальное всё сделал,осталась одна,помогите,будь добры. Дана непустая последовательность целых...

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

Сравнить содержание двоих текстовых файлов и вывести на экран номера строк в каких есть отличия - C++
Помогите пожалуйста!! Не могу никак сделать задачу:cry: Не могу даже листинг нормально написать, раз 20 переписывал все по новой, все...

На каких перегонах (то есть между какими соседними станциями) в поезде было наименьшее число пассажиров - C++
Некоторый поезд в пути следования останавливается на N станциях (станция номер 1 — начальная, а станция номер N — конечная). Дан список...

Определить, есть ли среди целых чисел A, B, C хотя бы одно парное - C++
Определить, есть ли среди целых чисел A, B, C хотя бы одно парное. Нужно набрать в Dev C++ помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
yoghurt92
374 / 345 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
22.05.2013, 00:20     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка) #10
lexus_ilia, ну мне кажется это довольно логично
Yandex
Объявления
22.05.2013, 00:20     Знание языка C++ тест, одно задание (казать в каких строчках есть ошибка)
Ответ Создать тему
Опции темы

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