Я пытаюсь написать что-то вроде этого:
template <typename type,int p,int q = 1> struct const4array
{
static const type value [] = { type(p)/type(q) , type(p)/type(q) , type(p)/type(q) , type(1) } ;
};
double xx [] = { 0.5 , 0.5 , 0.5 , 1 } ;
double yy [] = const4array<double,1,2>::value ; // I would like to have : xx == yy
Я думаю, что этот код легко понять для разработчика, но, очевидно, не для компилятора (он возвращает много ошибок).
Можно ли делать то, что я хочу, и если это так, как это делать правильно?
(Я нашел много других вопросов, похожих на этот, но не настолько близких, чтобы соответствовать моим).
Заранее спасибо!