2014 dxdy logo

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

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




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

Скажите, пожалуйста, можно ли как-то разрешить С++ компилятору преобразовывать автоматически один тип указателя в другой, грубо говоря, мне надо, чтобы во всех местах, где я получаю указатель типа __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 
ilghiz в сообщении #1549297 писал(а):
можно ли как-то разрешить С++ компилятору преобразовывать автоматически один тип указателя в другой
Вряд ли. Тогда компилятор не смог бы ловить такие ошибки.
Лучше, если бы везде использовался один и тот же тип.
Но если это невозможно, то надо явно приводить. Так что в примере всё верно.

 
 
 [ Сообщений: 17 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group