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

error: cannot convert to in assigment - C++

Восстановить пароль Регистрация
 
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 01:47     error: cannot convert to in assigment #1
Помогите найти ошибку. Компилятор выдает -
in constructor 'LudziPW::LudziPW(int)' :
(115) error: cannot convert 'LudziPW**' to 'Person**' in assigment

вот код:

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
46
47
48
49
50
51
 class Person
 {
     public:
 
int* age;
char* name;
char* srname;
Person& operator = (const Person&);
 
Person();
 Person(char*, char*, int*);
 Person(const Person &);
 virtual ~Person() { delete[] name; delete[] srname; age=0; }
 
virtual void powiedz_dane_ogolne()
{
 cout<<"Imie: " <<name<< " Nazwisko: " <<srname<<"Wiek: "<<age<<endl;
}
virtual void powiedz_dane_wlasne()=0;
 
 };
 
 
class LudziPW
{
 
protected:
    int rozmiar;
    int ile;
    Person** ludtab;
public:
    LudziPW(int r) : rozmiar(r), ile(0){
    ludtab = new LudziPW*[rozmiar]; // 115
    }
 
    ~LudziPW(){
        for(int i = 0; i < ile; i++) delete ludtab[i];
        delete[] ludtab;
    }
 
    bool dodaj(Person* who){
        bool rezultat = false;
        if(who != NULL){
            if(ile < rozmiar){
                ludtab[ile++] = who;
                rezultat = true;
            }
        }
        return rezultat;
    }
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 01:47     error: cannot convert to in assigment
Посмотрите здесь:

Ошибка non-value in assigment C++
Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' C++
C++ error C2440: 'delete' : cannot convert from 'Song' to 'void *'
C++ map assigment of read only data member или WTF?
C++ convert
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.04.2013, 01:51     error: cannot convert to in assigment #2
Это несоответствие типов данных, то есть тип данных Person не то же самое, что LudziPW
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:16  [ТС]     error: cannot convert to in assigment #3
Поможет если я в классе LudziPW добавлю char или char* переменную? или что?

Добавлено через 7 часов 27 минут
Помогите, пожалуйста, как исправить?
У меня есть похожий, фактически идентичный код но он работает.. а у этого ошибку выдает(
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.04.2013, 10:34     error: cannot convert to in assigment #4
Объясните, что Вы хотите сделать. Потому, что я не понимаю.

Цитата Сообщение от Jadzia Посмотреть сообщение
У меня есть похожий, фактически идентичный код но он работает
Покажите его
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.04.2013, 10:47     error: cannot convert to in assigment #5
Jadzia, код непонятный, но, похоже, Вам наследование надо добавить. Хотя, потом всё равно переписать
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:54  [ТС]     error: cannot convert to in assigment #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
class Dziecko{
private:
    string imie;
public:
    Dziecko(string we) : imie(we){}
    string& podaj_imie(){ return imie; }
 
    virtual double wartosc() = 0;
    virtual void ktos_ty() = 0;
};
 
class Druzyna{
private:
    string nazwa;
    int rozmiar;
    int licznosc;
    Dziecko** tab;
public:
    Druzyna(string nz, int r) : nazwa(nz), rozmiar(r), licznosc(0){
        tab = new Dziecko*[rozmiar];
    }
 
    ~Druzyna(){
        for(int i = 0; i < licznosc; i++) delete tab[i];
        delete[] tab;
    }
 
    bool dodaj(Dziecko* ktos){
        bool rezultat = false;
        if(ktos != NULL){
            if(licznosc < rozmiar){
                tab[licznosc++] = ktos;
                rezultat = true;
            }
        }
        return rezultat;
    }
 
    };
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.04.2013, 10:55     error: cannot convert to in assigment #7
C++
1
    ludtab = new LudziPW*[rozmiar]; // 115
замените на
C++
1
    ludtab = new Person*[rozmiar]; // 115
надеюсь поможет
и используйте вставки форматирования кода
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:56  [ТС]     error: cannot convert to in assigment #8
у меня там есть наследование. Данные из класса Person наследуют еще 3 класса, а потом уже сам класс весь наследуется LudziPW где типо должны в группы добавлятся
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.04.2013, 10:57     error: cannot convert to in assigment #9
по примеру, который вы скинули, наследования нет
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 18:54  [ТС]     error: cannot convert to in assigment #10
О! Работает! Спасибо огромное!)
блин, и логично же.. как же я не заметила...

Добавлено через 37 секунд
А.. я ж не выкинула весь код

Добавлено через 7 часов 54 минуты
Эх, теперь с мейном проблема(((

C++
1
2
3
4
5
6
7
8
9
10
11
int main(int argc, char *argv[])
{
LudziPW LudziElka(10);
 
    LudziElka += new Student("Wasia","CiЕјykow","Elektronika",1,5,19);
    LudziElka += new Student("Witia","CiЕјykow","TElekom",1,5,19);
 
cout << "Baza danych:\n";
    LudziPW.print();
 return 0;
}
на предпоследнюю строчку выдает: error: expekted uqualified-id before '.' token
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.04.2013, 18:57     error: cannot convert to in assigment #11
C++
1
LudziElka.print();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2013, 16:49     error: cannot convert to in assigment
Еще ссылки по теме:

C++ Указатели. Error C2440: '=' : cannot convert from ClassAPtr to ClassA<Tclass>
Ошибки Constant out of range in comparison и Possibly incorrect assigment C++
C++ Error LNK1120, error LNK2019, error LNK2028, queue

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

Или воспользуйтесь поиском по форуму:
Jadzia
 Аватар для Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
27.04.2013, 16:49  [ТС]     error: cannot convert to in assigment #12
Ох, ну надо же быть настолько невнимательной.. даже стыдно(
Спасибо огромное!!!)))
Yandex
Объявления
27.04.2013, 16:49     error: cannot convert to in assigment
Ответ Создать тему
Опции темы

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