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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 48, средняя оценка - 4.63
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 20:48     C2512: odejda: нет подходящего конструктора по умолчанию #1
Пытаюсь разобраться с полиморфизмом. Помогите пожалуйтста.

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 ==========
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2010, 20:48     C2512: odejda: нет подходящего конструктора по умолчанию
Посмотрите здесь:

C++ error C2512: no appropriate default constructor available, несмотря на наличие конструктора по умолчанию
C++ Visual жалуется на конструктор "Error C2512: нет подходящего конструктора по умолчанию"
C++ Инициализация конструктора по умолчанию
Нет подходящего конструктора по умолчанию. Наследование C++
C++ Для класса не существует конструктора по умолчанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
14.12.2010, 21:04     C2512: odejda: нет подходящего конструктора по умолчанию #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;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 23:16  [ТС]     C2512: odejda: нет подходящего конструктора по умолчанию #3
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
odejda::odejda(const char opis1)
    : opis(opis1) // список инициализации
{ 
}
такая запись
C++
1
odejda vv;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
Как решить эту проблему? vv нужно каким-то образом внести в список инициализации?

Добавлено через 1 час 54 минуты
Ну, мужики, спасайте. Завтра лабу сдавать, а я встрял на мертво на этом месте.
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
14.12.2010, 23:32     C2512: odejda: нет подходящего конструктора по умолчанию #4
Цитата Сообщение от N-t0z Посмотреть сообщение
Ну, мужики, спасайте. Завтра лабу сдавать, а я встрял на мертво на этом месте.
Как сказал предыдущий оратор,
Цитата Сообщение от rangerx Посмотреть сообщение
C++
1
2
3
4
odejda::odejda(const char opis1)
    : opis(opis1) // список инициализации
{ 
}
такая запись
C++
1
odejda vv;
подразумевает наличие конструктора, который не принимает параметров. У вас такого конструктора нет.
опишите (напишите) конструктор совсем без параметров.
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
14.12.2010, 23:51  [ТС]     C2512: odejda: нет подходящего конструктора по умолчанию #5
Честное слово - с утра за компом в си ковыряюсь. У меня уже голова не варит. Я правд не понимаю ваших советов. Вы можете исправить это в коде, если не очень трудно?
Icarus
 Аватар для Icarus
6 / 6 / 2
Регистрация: 27.09.2010
Сообщений: 7
15.12.2010, 00:23     C2512: odejda: нет подходящего конструктора по умолчанию #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;
}
N-t0z
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
15.12.2010, 01:11  [ТС]     C2512: odejda: нет подходящего конструктора по умолчанию #7
Спасибо тебе, добрый человек=)

Добавлено через 45 минут
Программа почти готова. Ещё раз огромное всем спасибо. С 18 вечера глаза ломал, пытался в нете про эти ***ные конструкторы что-нибудь дельное вычитать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2016, 12:34     C2512: odejda: нет подходящего конструктора по умолчанию
Еще ссылки по теме:

C++ Конструктор Шредингера "нет подходящего конструктора по умолчанию", хотя он есть
C++ Нет подходящего конструктора по умолчанию
C++ Создание лог файла. Нет подходящего конструктора по умолчанию

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

Или воспользуйтесь поиском по форуму:
Kinny
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 2
13.05.2016, 12:34     C2512: odejda: нет подходящего конструктора по умолчанию #8
спасибо,тоже помогло)
Yandex
Объявления
13.05.2016, 12:34     C2512: odejda: нет подходящего конструктора по умолчанию
Ответ Создать тему
Опции темы

Текущее время: 07:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru