Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Visual C++ ATL ошибка 2664

434
26 марта 2010 года
Poltos
105 / / 18.08.2004
Добрый день!

Я столкнулся с проблемой конвертации типов, за не достаточным знанием С++ не могу решить проблему. Помогите разобраться.

Пример кода:
Код:
struct vColl {
public:
    int a;
   
    vColl()
    {
        a=0;
    }

    vColl(int _a) {
        a = _a;
    }
};


class C_CCSFix
{  
    CAtlList<vColl> Colums;
   
    C_CCSFix() {       

    }

    void Add(int _a) {
// vColl Coll = new vColl(_a); // тоже дает ошибку
        vColl Coll(_a);
        POSITION pos = Colums.AddTail(&Coll);
    }

};
11
26 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
а описание ошибки можно увидеть?

 
Код:
vColl *Coll = new vColl(_a);
434
26 марта 2010 года
Poltos
105 / / 18.08.2004
 
Код:
vColl Coll(_a);

Error 1 error C2664: 'POSITION ATL::CAtlList<E>::AddTail(const vColl &)' : cannot convert parameter 1 from 'vColl *' to 'const vColl &'


 
Код:
vColl *Coll = new vColl(_a);

Error 1 error C2664: 'POSITION ATL::CAtlList<E>::AddTail(const vColl &)' : cannot convert parameter 1 from 'vColl **' to 'const vColl &'

Ругается он на эту строку:
 
Код:
POSITION pos = Colums.AddTail(Coll);
11
26 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
т.е. в таком виде:
 
Код:
void Add(int _a)
{
    POSITION pos = Colums.AddTail(Coll(_a));
}[FONT=verdana]
[/FONT]
тоже не работает?
434
26 марта 2010 года
Poltos
105 / / 18.08.2004
 
Код:
POSITION pos = Colums.AddTail(vColl(_a));

Заработало, спасибо большое!

Заработало эт хорошо, но вот почему именно такая конструкция я не понял)
11
26 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
ошибка была во взятии адреса "&" или помещении указателя в контейнер, а он объявлен как хранилище объектов а не указателей
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог