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

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

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

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

28.12.2013, 21:41. Просмотров 5461. Ответов 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' - C++
Выдает ошибку expected initializer before 'void', помогите исправить #include <iostream> using namespace std; int a;...

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа - C++
#include <iostream> using namespace std; int main() {int a=0,b=0; int i=0; cout<<"Vvedite i="<<endl; cin>>i; ...

Qt ошибки "qualified-id declaration before '(' token" и "expected '}' at end of input" - C++
Возникла проблема при создании слота. В чём проблема? При компиляции возникли ошибки "qualified-id declaration before '(' token" и...

не получается передать массив из "void Vvod" в "void CalculatingEstimates" - C++
#include <iostream> #include <conio.h> using namespace std; void CalculatingEstimates(int Pp,Stydent mas); void Vvod(); struct...

Error C2084: функция "void mehanizm:print(void)" уже имеет текст реализации - C++
Добрый день, я столкнулся с проблемой вывода элемента на экран, выбивает: "error C2084: функция "void mehanizm::print(void)" уже имеет...

Error C2440: инициализация: невозможно преобразовать "void *" в "listnode *". подскажите, что можно сделать? - C++
#include <iostream> struct listnode { char *data; int value; struct listnode *next; }; struct listnode...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,222
Завершенные тесты: 1
28.12.2013, 21:48 #2
Что-то не так в HW_C.h
Что там написано?
Nick Alte
Эксперт С++
1636 / 1008 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
28.12.2013, 21:48 #3
Логично предположить, что ошибка в файле HW_C.h. Например, отсутствие точки с запятой после определения структуры.
azoller
17 / 17 / 1
Регистрация: 03.05.2013
Сообщений: 114
28.12.2013, 21:50 #4
Что-то в заголовочном файле не так. Покажите нам его, пожалуйста.
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
28.12.2013, 22:07  [ТС] #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
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,222
Завершенные тесты: 1
29.12.2013, 11:03 #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  [ТС] #7
Проблема в том, что HW_C.h -- один-единственный. И других просто нету. Уж не знаю, на что грешить(
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.01.2014, 02:14 #8
Весь проект выкладывайте.
BalexD
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 16
08.01.2014, 20:02  [ТС] #9
Ну, кидаю в виде ссылки. Чтоб никто не терялся: сама функция используется в HW_Dop1.cpp, а в хидере прописана в самом конце.
Вложения
Тип файла: 7z HW_C_main.7z (40.1 Кб, 4 просмотров)
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.01.2014, 04:58 #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  [ТС] #11
Хм.. Странно. У меня все выглядит немного по-другому.

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

Но спасибо за указания на промахи. Искренне всем благодарна)
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.01.2014, 00:07 #12
Цитата Сообщение от BalexD Посмотреть сообщение
Хм.. Странно. У меня все выглядит немного по-другому.
Интересно было бы посмотреть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 00:07
Привет! Вот еще темы с ответами:

expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) - C++
#include &lt;iostream&gt; using namespace std; struct point { int x; int y; }; int main() { point...

Компилатор, ошибка "expected primary-expression before "int" " - C++
код #include &lt;iostream.h&gt; using namespace std; #include &lt;windows.h&gt; int show_big_and_litle(int a, int b, int c) { int...

Error C2440: =: невозможно преобразовать "void *" в "Node *" - C++
Почему ошибка? error C2440: =: невозможно преобразовать &quot;void *&quot; в &quot;Node *&quot; #include &lt;stdio.h&gt; #include &lt;ctype.h&gt; #include...

Как исправить [Error] expected initializer before 'bool'? - C++
#include &lt;string.h&gt; #include &lt;cstring&gt; int main() bool exists = false; for (int i = 0; i &lt; strlen(str)-1 &amp;&amp; !exists; i++) ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.01.2014, 00:07
Ответ Создать тему
Опции темы

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