Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
параметризировать темлейт поинтером "typedef TEvent<Entity,&Entity::AFunc> someEvent;" вроде бы как нельзя (т.к. поинтер резолвится в рантайме, а темплейты генерятся компилером).
msvc.
typedef TEvent<Entity,&Entity::AFunc> - явно ресолвится в компайлтайме. Он компайлтайм ссылки спокойно кушает в качестве аргументов шаблона. Так можно даже float в шаблон передать. Но код получается непереносимый.
> bool operator<(Event e) const
error: cannot declare parameter ‘e’ to be of abstract type ‘Event’
note: because the following virtual functions are pure within ‘Event’: virtual void Event::operator()()
Экватором в данном говнокоде является (1+53)/2=27я строчка.
В ней написано int foo;
Переплывать инт фуу я бы не стал, наверное, это очень противно, во всяких фуу плавать.
параметризировать темлейт поинтером "typedef TEvent<Entity,&Entity::AFunc> someEvent;" вроде бы как нельзя (т.к. поинтер резолвится в рантайме, а темплейты генерятся компилером).
или?
typedef TEvent<Entity,&Entity::AFunc> - явно ресолвится в компайлтайме. Он компайлтайм ссылки спокойно кушает в качестве аргументов шаблона. Так можно даже float в шаблон передать. Но код получается непереносимый.
Обычный "код - проверка".
error: cannot declare parameter ‘e’ to be of abstract type ‘Event’
note: because the following virtual functions are pure within ‘Event’: virtual void Event::operator()()
Не понял, а где вторая угловая скобочка в описани шаблона?
В ней написано int foo;
Переплывать инт фуу я бы не стал, наверное, это очень противно, во всяких фуу плавать.
Это код на С++. Тут строчки с 0 отсчитываются (0+53)/2
То есть в качестве параметра шаблона можно даже вставлять такие выражения, как
Event e) const { return e.priority
?
Отвратительный язык...
Отвратительный язык©
<?php?>
-- КЭП.