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

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

Войти
Регистрация
Восстановить пароль
 
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
#1

error: cannot convert to in assigment - C++

26.04.2013, 01:47. Просмотров 627. Ответов 11
Метки нет (Все метки)

Помогите найти ошибку. Компилятор выдает -
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;
    }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 01:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос error: cannot convert to in assigment (C++):

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' - C++
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...

Error: cannot convert - C++
Добрый вечер. Ошибки: main.cpp:17:39: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 ...

error C2440: 'delete' : cannot convert from 'Song' to 'void *' - C++
Строка, где выдаётся ошибка: delete mas; Деструктор: Song::~Song () { delete song; delete perf; delete desc; }

Указатели. Error C2440: '=' : cannot convert from ClassAPtr to ClassA<Tclass> - C++
Добрый день. Помогите, пожалуйста, разобраться. У меня есть шаблонный класс template&lt;class Tclass&gt; ClassA; . И есть тип...

Error: could not convert ‘0l’ from ‘long int’ to ‘Tree::Node*&’ - C++
Делаю бинарное дерево. При перегрузке метода добавления элемента компилятор выдает ошибку. Код: #include &lt;iostream&gt; using...

Error C2664: 'sprintf' : cannot convert parameter 2 from 'float' to 'const char *' - C++
Читаю в Интернете пишут о том что нужно явное преобразование типов, подскажите, пжл, как его произвести. PS: если оно тут...

11
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
26.04.2013, 01:51 #2
Это несоответствие типов данных, то есть тип данных Person не то же самое, что LudziPW
1
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:16  [ТС] #3
Поможет если я в классе LudziPW добавлю char или char* переменную? или что?

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

Цитата Сообщение от Jadzia Посмотреть сообщение
У меня есть похожий, фактически идентичный код но он работает
Покажите его
0
Tulosba
:)
Эксперт С++
4619 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.04.2013, 10:47 #5
Jadzia, код непонятный, но, похоже, Вам наследование надо добавить. Хотя, потом всё равно переписать
0
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:54  [ТС] #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;
    }
 
    };
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
26.04.2013, 10:55 #7
C++
1
    ludtab = new LudziPW*[rozmiar]; // 115
замените на
C++
1
    ludtab = new Person*[rozmiar]; // 115
надеюсь поможет
и используйте вставки форматирования кода
1
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 10:56  [ТС] #8
у меня там есть наследование. Данные из класса Person наследуют еще 3 класса, а потом уже сам класс весь наследуется LudziPW где типо должны в группы добавлятся
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
26.04.2013, 10:57 #9
по примеру, который вы скинули, наследования нет
0
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
26.04.2013, 18:54  [ТС] #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
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
26.04.2013, 18:57 #11
C++
1
LudziElka.print();
1
Jadzia
0 / 0 / 0
Регистрация: 23.03.2013
Сообщений: 16
27.04.2013, 16:49  [ТС] #12
Ох, ну надо же быть настолько невнимательной.. даже стыдно(
Спасибо огромное!!!)))
0
27.04.2013, 16:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2013, 16:49
Привет! Вот еще темы с ответами:

Ошибка: error: cannot convert '<brace-enclosed initializer list>' to 'int - C++
всем привет! не могу разобраться, что это за ошибка void sum_element() { const int size = 10; int arr = {0}; int...

Ошибка non-value in assigment - C++
#include &lt;iostream&gt; using namespace std; int main() { double x,z,n; int y; cout&lt;&lt;&quot;vvedite summu=&quot;; cin&gt;&gt;x; cout&lt;&lt;&quot;vvedite %...

Ошибки Constant out of range in comparison и Possibly incorrect assigment - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int replace(char*str, char c1, char c2); char *str = &quot;stroka&quot;; int...

map assigment of read only data member или WTF? - C++
задача:из acm.timus.ru 1100. Таблица результатов Ограничение времени: 1.0 секунды Ограничение памяти: 16 МБ Старое программное...


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

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

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