powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / где мои операторы?
9 сообщений из 9, страница 1 из 1
где мои операторы?
    #34141151
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VC 6.5 упорно не хочет видеть мои переопределенные операторы, мож я делаю что не так, помогите разобраться!

в хэдере:
Код: plaintext
1.
2.
3.
4.
5.
class AnyClass
{
public:
operator const char* (void) const;
}

в cpp

Код: plaintext
1.
2.
3.
4.
5.
6.
AnyClass::operator const char*(void) const
{
/*
код
*/
return (const char*) m_var;
}

Если "стать" курсором в тело оператора, то вверху в выпадающем перечне функций и др. объектов этого класса ничего не отображается, если в хэдере попытаться перейти с помощью этого списка к реализации оператора, то выпадает сообщение, что он не найден.

Оператор = обявленный как operator=(const AnyClass& rhs) и реализованный как AnyClass& AnyClass::operator=(const AnyClass& rhs) этим не "болеет".

Программа компилится и работает, но боюсь что это может иметь последствия при вызове этих операторов из dll при работе на более поздних версиях VC.

Что я делаю не так?

Спасибо.

--------------------------------------------------------------
[подпись с другого сайта]
...
Рейтинг: 0 / 0
где мои операторы?
    #34141239
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это оператор разыменования?

Может, возврощаемое значение надо ставить перед operator?
...
Рейтинг: 0 / 0
где мои операторы?
    #34141299
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhЭто оператор разыменования?

Может, возврощаемое значение надо ставить перед operator?
преобразования типа

пробовал, не помогает
...
Рейтинг: 0 / 0
где мои операторы?
    #34142040
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IntelliSense и ClassWizard и компилятор С++ - это немного разные вещи.

Напиши юнит-тест на приведение типа, проверь, что оно вызывается в нужном месте и возвращает то что нужно, и если все так как должно быть - успокойся.
...
Рейтинг: 0 / 0
где мои операторы?
    #34142993
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
между VC 98 VC 2005 идет незримый бой за wchar_t, которую они не хотят понимать при экспорте как wchar_t. Точнее VC 98 стремиться понять ее как unsigned short, в то время как компилятор VC 2005 трактует ее как wchar_t, если же библиотека скомпилировалась в VC98, то расхождение с VC2005 будет именно в этом типе данных, который он не увидит, точнее увидит unsigned short.
В то же время c char такого не происходит и vc2005 и vc98 прекрасно находят их в dll.

--------------------------------------------------------------
[подпись с другого сайта]
...
Рейтинг: 0 / 0
где мои операторы?
    #34143004
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для wchar_t есть соотв. опция компилера.
...
Рейтинг: 0 / 0
где мои операторы?
    #34143081
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoдля wchar_t есть соотв. опция компилера.
в vc98?
...
Рейтинг: 0 / 0
где мои операторы?
    #34143438
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в вс200*
...
Рейтинг: 0 / 0
где мои операторы?
    #34143444
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
согласен

--------------------------------------------------------------
[подпись с другого сайта]
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / где мои операторы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]