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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.93
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
#1

Как изменить код, чтобы не было ошибки "expected initializer before void" - C++

28.12.2013, 21:41. Просмотров 5212. Ответов 11
Метки нет (Все метки)

В общем, компилятор почему-то ругается на 3 строку, говоря "expected initializer before void" Что ему тут не нравится -- ума не приложу. Все функции есть в хидере, ругаться стал недавно -- ранее работал на ура. Перестраивала, перезапускала блокс(на всяк пожарный), а толку нет. Вот сам код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "HW_C.h"
 
void less_1()
{
    bool flag=true;
    int temp;
    system("clear");
    while(flag)
    {
        printf("\nВыберите задание:\n\t1 Среднее арифметическое двух чисел\n\t2 Перевод гривны в валюту\n\t3 Вывод текста\n\t4 Квадрат числа\n\t5 Сумма и произведение трёх\n\t6 Назад\n");
        scanf("%d", &temp);
        system("clear");
        switch(temp)
        {
            case 1: printf("Среднее арифметическое: %.3lf\n",arithmetic_average()); break;
            case 2: exchange();break;
            case 3: text();break;
            case 4: printf("%d\n", sqr()); break;
            case 5: summ_and_product_of_3();break;
            case 6: flag=false; break;
        }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2013, 21:41     Как изменить код, чтобы не было ошибки "expected initializer before void"
Посмотрите здесь:
C++ Ошибка: expected initializer before 'void'
Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа C++
C++ Qt ошибки "qualified-id declaration before '(' token" и "expected '}' at end of input"
не получается передать массив из "void Vvod" в "void CalculatingEstimates" C++
Error C2440: инициализация: невозможно преобразовать "void *" в "listnode *". подскажите, что можно сделать? C++
expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) C++
C++ Компилатор, ошибка "expected primary-expression before "int" "
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,112
Завершенные тесты: 1
28.12.2013, 21:48     Как изменить код, чтобы не было ошибки "expected initializer before void" #2
Что-то не так в HW_C.h
Что там написано?
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,927
Завершенные тесты: 1
28.12.2013, 21:48     Как изменить код, чтобы не было ошибки "expected initializer before void" #3
Логично предположить, что ошибка в файле HW_C.h. Например, отсутствие точки с запятой после определения структуры.
azoller
17 / 17 / 1
Регистрация: 03.05.2013
Сообщений: 114
28.12.2013, 21:50     Как изменить код, чтобы не было ошибки "expected initializer before void" #4
Что-то в заголовочном файле не так. Покажите нам его, пожалуйста.
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
28.12.2013, 22:07  [ТС]     Как изменить код, чтобы не было ошибки "expected initializer before void" #5
Вот та самая часть хидера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <iomanip>
 
using namespace std;
 
 
void less_1();
void exchange();
void text();
int sqr();
void summ_and_product_of_3();
double arithmetic_average();
 
void less_2();
bool even_or_odd();
void summ_and_amount();
zss
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,112
Завершенные тесты: 1
29.12.2013, 11:03     Как изменить код, чтобы не было ошибки "expected initializer before void" #6
У меня это все компилируется.
Возможно перепутали несколько одинаковых HW_C.h
В строчке
#include "HW_C.h"
щелкните правой кнопкой мыши по HW_C.h и выберите
Open HW_C.h (Открытие документа HW_C.h).
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
03.01.2014, 02:07  [ТС]     Как изменить код, чтобы не было ошибки "expected initializer before void" #7
Проблема в том, что HW_C.h -- один-единственный. И других просто нету. Уж не знаю, на что грешить(
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.01.2014, 02:14     Как изменить код, чтобы не было ошибки "expected initializer before void" #8
Весь проект выкладывайте.
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
08.01.2014, 20:02  [ТС]     Как изменить код, чтобы не было ошибки "expected initializer before void" #9
Ну, кидаю в виде ссылки. Чтоб никто не терялся: сама функция используется в HW_Dop1.cpp, а в хидере прописана в самом конце.
Вложения
Тип файла: 7z HW_C_main.7z (40.1 Кб, 4 просмотров)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.01.2014, 04:58     Как изменить код, чтобы не было ошибки "expected initializer before void" #10
Вот результат компиляции этого проекта в Code::Blocks 12.11:
obj\Debug\HW_Dop1.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\HW_Dop2.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\HW_Dop3.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\HW_Dop4.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_1.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_2.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_3.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_4.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_5.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\Less_6.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
obj\Debug\main.o||In function `Z13insert_4_numbv':|
C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|multiple definition of `insert_4_numb()'|
obj\Debug\HW_Dop.o:C:\Documents and Settings\Administrator\Desktop\HW_C_main\HW_C_main\HW_C.h|73|first defined here|
||=== Build finished: 22 errors, 0 warnings (0 minutes, 4 seconds) ===|
И при чём здесь тогда:
Цитата Сообщение от BalexD Посмотреть сообщение
компилятор почему-то ругается на 3 строку, говоря "expected initializer before void"
???

Добавлено через 1 минуту
И кто вас научил делать реализацию функции (insert_4_numb()) в заголовочном файле?
Цитата Сообщение от BalexD Посмотреть сообщение
сама функция используется в HW_Dop1.cpp, а в хидере прописана в самом конце.
Вложения
Тип файла: rar HW_C_main.rar (319.3 Кб, 7 просмотров)
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
10.01.2014, 00:02  [ТС]     Как изменить код, чтобы не было ошибки "expected initializer before void" #11
Хм.. Странно. У меня все выглядит немного по-другому.

А про заголовочный файл скажу, что никто мне не говорил, что так делать нельзя. По крайней мере, до этого момента ошибки не возникало. Что же, учтем и эти грабли.

Но спасибо за указания на промахи. Искренне всем благодарна)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 00:07     Как изменить код, чтобы не было ошибки "expected initializer before void"
Еще ссылки по теме:
Error C2440: =: невозможно преобразовать "void *" в "Node *" C++
Как исправить [Error] expected initializer before 'bool'? C++
Как сделать так, чтобы введенное с клавиатуры слово "helllo" в памяти сохранялось в виде "Hello". C++
C++ Как сделать так, чтобы scanf в переменную double мог считывать с клавиатуры не только "0,01", но и "0.01"
C++ LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain

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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 00:07     Как изменить код, чтобы не было ошибки "expected initializer before void" #12
Цитата Сообщение от BalexD Посмотреть сообщение
Хм.. Странно. У меня все выглядит немного по-другому.
Интересно было бы посмотреть.
Yandex
Объявления
10.01.2014, 00:07     Как изменить код, чтобы не было ошибки "expected initializer before void"
Ответ Создать тему
Опции темы

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