Утверждение времени компиляции для равенства строк

Можно ли это сделать с помощью шаблонов?

Есть две строковые константы. Они берутся из определений в разных модулях. Они должны быть равны, иначе я вызову ошибку времени компиляции, если они не равны. Могу ли я сделать это с помощью шаблонов?

#define MY_STRING "foo"
CompileAssertIfStringsNotEqual(MY_STRING, HIS_STRING);

PS Я был введен в заблуждение, предполагая, что «abc» [0] является постоянным выражением. Это не так. Странное упущение в языке. Было бы возможно, если бы "abc" [0] было постоянным выражением.

17
задан Andrei 20 April 2011 в 19:23
поделиться