Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.97/76: Рейтинг темы: голосов - 76, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
1

C2512: odejda: нет подходящего конструктора по умолчанию

14.12.2010, 20:48. Показов 13834. Ответов 7
Метки нет (Все метки)

Пытаюсь разобраться с полиморфизмом. Помогите пожалуйтста.

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
30
31
32
#include <string>
#include <iostream>
using namespace std;
class odejda
{
public:
    float razm,razm1,pug,mas;
    const char opis;
    odejda(const char opis1);
    void parametr(void);
    virtual void info(void);
};
odejda::odejda(const char opis1)
{ const char opis=opis1;
}
void odejda:: parametr(void)
{
    cout<<("Zadajte diapazon razmerov ot ")<<endl;
    cin>> razm;
    cout<<(" do ")<<endl;
    cin>>razm1;
    cout<<("Zadajte kol-vo pugovic")<<endl;
    cin>> pug;
    cout<<("Zadajte massu izdeli9")<<endl;
    cin>>mas;
  const char*opis="To, 4to ludi odevaut po verh bel'9";
}
int main()
{
    odejda vv;
    vv.parametr();
}
Описание ошибок
1>------ Построение начато: проект: oop_zad3, Конфигурация: Debug Win32 ------
1> odejka.cpp
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(15): error C2758: odejda::opis: требуется инициализация в списке инициализации базовых классов и членов
1> c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(9): см. объявление "odejda::opis"
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(31): error C2512: odejda: нет подходящего конструктора по умолчанию
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2010, 20:48
Ответы с готовыми решениями:

Visual жалуется на конструктор "Error C2512: нет подходящего конструктора по умолчанию"
Привет, мне Visual C++ выдал такие ошибки делаю все как в уроке, пытаюсь описать класс в...

Нет подходящего конструктора по умолчанию
написал вот такой код // ConsoleApplication29.cpp: определяет точку входа для консольного...

Нет подходящего конструктора по умолчанию
#ifndef ANIMATION_H #define ANIMATION_H #include &lt;SFML\Graphics.hpp&gt; class animation {...

Нет подходящего конструктора по умолчанию
Всем привет :) Есть вот такой код#include &lt;vector&gt; #include &lt;SFML/Graphics.hpp&gt; using namespace...

7
2015 / 1614 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
14.12.2010, 21:04 2
Цитата Сообщение от N-t0z Посмотреть сообщение
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(15): error C2758: odejda::opis: требуется инициализация в списке инициализации базовых классов и членов
1> c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(9): см. объявление "odejda::opis"
C++
1
2
3
4
odejda::odejda(const char opis1)
    : opis(opis1) // список инициализации
{ 
}
Цитата Сообщение от N-t0z Посмотреть сообщение
1>c:\users\ион\documents\visual studio 2010\projects\oop_zad2\oop_zad3\odejka.cpp(31): error C2512: odejda: нет подходящего конструктора по умолчанию
такая запись
C++
1
odejda vv;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 23:16  [ТС] 3
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
odejda::odejda(const char opis1)
    : opis(opis1) // список инициализации
{ 
}
такая запись
C++
1
odejda vv;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
Как решить эту проблему? vv нужно каким-то образом внести в список инициализации?

Добавлено через 1 час 54 минуты
Ну, мужики, спасайте. Завтра лабу сдавать, а я встрял на мертво на этом месте.
0
3110 / 1496 / 514
Регистрация: 29.11.2010
Сообщений: 3,019
14.12.2010, 23:32 4
Цитата Сообщение от N-t0z Посмотреть сообщение
Ну, мужики, спасайте. Завтра лабу сдавать, а я встрял на мертво на этом месте.
Как сказал предыдущий оратор,
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
odejda::odejda(const char opis1)
    : opis(opis1) // список инициализации
{ 
}
такая запись
C++
1
odejda vv;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
опишите (напишите) конструктор совсем без параметров.
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 23:51  [ТС] 5
Честное слово - с утра за компом в си ковыряюсь. У меня уже голова не варит. Я правд не понимаю ваших советов. Вы можете исправить это в коде, если не очень трудно?
0
7 / 7 / 2
Регистрация: 27.09.2010
Сообщений: 7
15.12.2010, 00:23 6
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <string.h>
#include <iostream>
using namespace std;
class odejda
{
private:
        float razm,razm1,pug,mas;
        char opis[50];
public:
    odejda();
        odejda(char opis1[]);
        void parametr(void);
    void info();
};
odejda::odejda()
{
}
odejda::odejda(char opis1[])
{ 
    strcpy(opis,opis1);
}
void odejda::parametr()
{
        cout<<("Задайте диапазон размеров от ")<<endl;
        cin>> razm;
        cout<<(" до ")<<endl;
        cin>>razm1;
        cout<<("Задайте к-во пуговиц")<<endl;
        cin>> pug;
        cout<<("Задайте массу изделия")<<endl;
        cin>>mas;
        strcpy(opis,"То, что люди одевает вверх белья");
}
void odejda::info()
{
 
}
int main()
{
    setlocale(LC_ALL,"Russian");
        odejda vv;
        vv.parametr();
        system("pause");
    return 0;
}
2
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
15.12.2010, 01:11  [ТС] 7
Спасибо тебе, добрый человек=)

Добавлено через 45 минут
Программа почти готова. Ещё раз огромное всем спасибо. С 18 вечера глаза ломал, пытался в нете про эти ***ные конструкторы что-нибудь дельное вычитать.
0
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 4
13.05.2016, 12:34 8
спасибо,тоже помогло)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2016, 12:34

Нет подходящего конструктора по умолчанию. Наследование
Скидываю хидер и исходник к нему: хидер(Main_Menu.h): #include &quot;stdafx.h&quot; #ifndef...

Нет подходящего конструктора vector по умолчанию
Не понимаю, как описать #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; using...

Ошибка: нет подходящего конструктора по умолчанию
В общем ребят, такая проблема, решил начать обучение плюсов по книжке, там задание создать класс и...

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


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

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

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