Нет. В стандарте C ++ 03 говорится:
[Примечание: поскольку список аргументов явного шаблона следует за именем шаблона функции и потому, что шаблоны функций членов-членов преобразования и шаблоны-функции-члены-конструкторы вызываются без использования функции name, нет способа предоставить явный список аргументов шаблона для этих шаблонов функций.] (§14.5.2 / 5)
blockquote>
Просто протестировал его в firebug и не обнаружил разницы между пост- и преинкрементами. Может это оптимизация под другие платформы? вы можете заключить его в директиву компилятора (по крайней мере, в C #) следующим образом:
#if PocketPC
// mobile-specific stuff here
#else
// desktop-specific stuff here
#endif
Серьезно, я не знаю, почему главный ответ так хорош. Вам вообще не нужны два отдельных проекта. Также я не люблю директивы препроцессора, они уродливы и требуют дополнительных знаний о проекте при игре с параметрами сборки. Гораздо приятнее передать все несовместимые части и части в интерфейс (IPlaformServices или что-то подобное), или вы можете даже просто спросить:
if(Environment.OSVersion.Platform == PlatformID.WinCE)
{
// winCE specific
}
else
{
// desktop specific
}
Оба эти решения являются лучшими решениями, чем директивы препроцессора IMO.
> Две платформы не совместимы на двоичном уровне >
На самом деле настольная версия может загружать и запускать сборки CF.