2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: C++ как использовать тип в template для условной компиляции?
Сообщение21.02.2022, 14:01 


11/08/18
363
И еще вопрос в догонку...

Скажите, пожалуйста, можно ли как-то разрешить С++ компилятору преобразовывать автоматически один тип указателя в другой, грубо говоря, мне надо, чтобы во всех местах, где я получаю указатель типа __complex__ double * я смог бы его без преобразования передать в функции, у которых в качестве аргумента имеется структура doublecomplex*

На данный момент я для этого завел

Используется синтаксис C++
inline doublecomplex *LC(__complex__ double *A) { return (doublecomplex*)A; }
 


и при каждом необходимом случае пишу так:

Используется синтаксис C++
template<typename DT> inline void COPY(int N, DT *X, int IX, DT *Y, int IY) { LA(DT,copy,(N, LC(X), IX, LC(Y), IY)); }
 


Спасибо!

 Профиль  
                  
 
 Re: C++ как использовать тип в template для условной компиляции?
Сообщение21.02.2022, 21:51 
Заслуженный участник


18/09/21
1764
ilghiz в сообщении #1549297 писал(а):
можно ли как-то разрешить С++ компилятору преобразовывать автоматически один тип указателя в другой
Вряд ли. Тогда компилятор не смог бы ловить такие ошибки.
Лучше, если бы везде использовался один и тот же тип.
Но если это невозможно, то надо явно приводить. Так что в примере всё верно.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group