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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
#1

Ошибка при создании конструктора - C++

30.08.2009, 23:55. Просмотров 2000. Ответов 3
Метки нет (Все метки)

Написал конструктор:

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
Rational::Rational()
{
    int numenator = 0;
    string str;
    cout << toRus("Введите числитель: ");
    getline(cin, str);
    istringstream iss_1(str);
 
    if(!(iss_1 >> numenator))
    {
        iss_1.clear();
        cout << toRus("Вы не ввели значение числителя. \nЕму будет присвоено значение по умолчанию.");
        numenator = 1;
    }
//------------------------------------------------------------------------------------------//   
    int denominator = 0;
    cout << toRus("Введите знаменатель: ");
    getline(cin, str);
    istringstream iss_2(str);
    
    if(!(iss_2 >> denominator))
    {
        iss_2.clear();
        cout << toRus("Вы не ввели значение знаменателя. \nЕму будет присвоено значение по умолчанию.");
        denominator = 1;
    }
//------------------------------------------------------------------------------------------//    
    reduction(numenator, denominator);
}
он мне выводит ошибку:
2 строка в этом коде, D:\Dev-Cpp\ïðîãè\Rational\rational_main.cpp new types may not be defined in a return type
2 строка в этом коде, D:\Dev-Cpp\ïðîãè\Rational\rational_main.cpp return type specification for constructor invalid
не понимаю в чем дело. помогите.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2009, 23:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при создании конструктора (C++):

Ошибка "Необъявленный идентификатор" при создании конструктора в наследственном классе - C++
Выдает ошибку Необъявленный идентификатор a b,когда создаю конструктор в наследственном классе #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

ООП в C++: Вызов родительского конструктора с параметром при создании объекта дочернего класса - C++
Здравствуйте! Столкнулся с такой проблемой: если есть родительский класс с конструктором, то при создании дочернего объекта от этого...

Что за ошибка при вызове конструктора? - C++
Компилятор ругается на строчку внутри цикла while((c = getchar()) != '\n') { q = new Sym(c); } Sym - класс, а c -...

Ошибка при вызове конструктора с параметрами - C++
подскажите, почему при вызове конструктора с параметрами выдает ошибку сегментации #include&lt;math.h&gt; #include&lt;stdio.h&gt; ...

Ошибка при добавлении конструктора в класс - C++
В классе при добавлении конструктора возникает ошибка. Класс(class hinans) работал нормально,до того как добавил hinans(sterling s) ...

Ошибка при реализации move конструктора для списка - C++
List(List&amp;&amp;L) { Head = Tail = nullptr; Node*temp = L.Head; Head = temp; L.Head = nullptr; while (L.Head) { ...

3
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
31.08.2009, 12:58 #2
Ошибка где-то выше. Могу предположить, что после описания класса забыта точка с запятой, тогда получается в соответствии с сообщениями об ошибках, что конструктор возвращает класс.
Код
class Rational {...} Rational::Rational() {...}
Если не так, то надо больше кода.
1
breeve
75 / 75 / 14
Регистрация: 01.08.2009
Сообщений: 177
31.08.2009, 22:44  [ТС] #3
Цитата Сообщение от Somebody Посмотреть сообщение
Ошибка где-то выше. Могу предположить, что после описания класса забыта точка с запятой, тогда получается в соответствии с сообщениями об ошибках, что конструктор возвращает класс.
Код
class Rational {...} Rational::Rational() {...}
Если не так, то надо больше кода.
Ваше предположение подтвердилось! Спасибо!
0
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
31.08.2009, 23:06 #4
супер! вторую половину полезного функционалитета, включай вывод результатов, разместить в деструкторе, и потом просто

C++
1
2
3
4
main ...
Rational r;
cout << "здесь был вася\n";
return 0;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2009, 23:06
Привет! Вот еще темы с ответами:

Ошибка при перегрузка конструктора. Родительский объект инициализирует поле по умолчанию - C++
простейший объект field с двумя полями int является полем класса Capp. поле с типом field создается и конструируется по умолчанию без...

Ошибка при создании класса - C++
написал класс:#include&lt;windows.h&gt; class Hook{ public: void SetHook(){ HINSTANCE hinstDLL = GetModuleHandle(NULL); if...

Ошибка при создании массива - C++
Не пойму в чем ошибка... Подскажите пожалуйста. void CreatMas(int *m) { int st,stlb; scanf(&quot;%d&quot;,&amp;st); scanf(&quot;%d&quot;,&amp;stlb); ...

Ошибка при создании DLL - C++
пытаюсь создать DLL, два файла MyLib.cpp void __fastcall Delete(void *param) {} и файл main.def с содержимым LIBRARY MyLib ...


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

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

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