Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: non-cons type  (Прочитано 11885 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alteest
Гость
« : 07-08-2003 06:56 » 

народ!
что бы это значило:
initialization of non-const type 'class CLASS1'
from rvalue of type 'CLASS1'?Не понялНе понялНе понял??

второй день бьюсь ужо!
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #1 : 07-08-2003 07:04 » 

По подробнее - где как и что ?
Код желателен.
Записан

А птичку нашу прошу не обижать!!!
alteest
Гость
« Ответ #2 : 07-08-2003 08:10 » 

в общем так:
если вызывать примерно так:
<class>::<method>{
   ...
   CLASS1(<переменные>), //инициализируем класс
   ...
}
то выдает такую ошибку, но если так:

CLASS1 CLASS1Tmp = CLASS1(<переменные>); //инициализируем здесь
<class>::<method>{
   ...
   CLASS1Tmp,
   ...
}
то все работет.
Проблемку то я порешал, но все таки интересно, где тут грабли???
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #3 : 07-08-2003 08:19 » 

Ничего не понятно.
Что это значит
Цитата

если вызывать примерно так:
<class>::<method>{


Кого вызвать? Если ф-цию, то что ей передается через такие скобки {}?

Цитата

CLASS1(<переменные>),

в теле функции вызывают конструктор какого-то класса(прямо на пустом месте, и ничему не присваивают результат и ничего с ним не сделать, имени у переменной, для которой конструктор вызвали, нет), а после него запятая.

Цитата

CLASS1Tmp,


А это вобще непонятно. Переменная, а после нее запятая. И что это такое?

Цитата

CLASS1 CLASS1Tmp = CLASS1(<переменные>); //инициализируем здесь


А это зачем? Чтобы вызвать конструктор а за ним конструктор копий? Зачем?
Почему не так-
CLASS1 CLASS1Tmp (<переменные>);



Что за синтаксис? Это что за язык программирования?
Ни одной синтаксически верной строчки, в этом грабли.
Записан
alteest
Гость
« Ответ #4 : 07-08-2003 08:51 » 

вот только если ты ничего не понял кричать всякую фигню - не надо. хотя и я может не все понятно объснил. в общем я уже порешал.

P.S. кстати - первый вариант работает на олярисовской СС, а второй - на gcc
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #5 : 07-08-2003 09:43 » 

Блин, я и не кричу. Ты на код который прислал смотрел? Я действительно нифига не понял, такой код не является кодом на С++, это по рандому накиданный текст.
 Я объясняю, что указать на ошибку в коде, где только одна синтаксически верная строчка нельзя. Проще было взять и кусок кода скопировать, а не такое объяснение выставлять.
Записан
SlavaI
Главный специалист

ru
Offline Offline

« Ответ #6 : 07-08-2003 09:51 » 

Интересно- а у тебя что вариант
CLASS1 CLASS1Tmp (<переменные>);
не работает?
А работает только
CLASS1 CLASS1Tmp = CLASS1(<переменные>);
Такого быть не должно.
Записан
Asan
Гость
« Ответ #7 : 07-08-2003 10:20 » 

Цитата: alteest
в общем так:
если вызывать примерно так:
<class>::<method>{
   ...
   CLASS1(<переменные>), //инициализируем класс
   ...
}
то выдает такую ошибку, но если так:

CLASS1 CLASS1Tmp = CLASS1(<переменные>); //инициализируем здесь
<class>::<method>{
   ...
   CLASS1Tmp,
   ...
}
то все работет.
Проблемку то я порешал, но все таки интересно, где тут грабли???


Ты где такую траву берешь?  Отлично
Записан
alteest
Гость
« Ответ #8 : 07-08-2003 11:53 » 

да в общем то вся причина в том что все это портируется с Соляры на Линух. Кто писал код под Соляру - загадка.
а трава такая - в голландии растет:)))))))))))))))
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines