На том основании, что это не компилируется
int main()
{
const char c[2] = "1";
static_assert(1==1, c)
}
ни это
int main()
{
const char* c = "1";
static_assert(1==1, c)
}
Оба с ошибками error: expected a string literal
тогда я должен был бы сделать вывод, что это невозможно.
"Строковый литерал состоит из нуля или более символов из исходного набора символов, заключенных в двойные кавычки ("). Строковый литерал представляет собой последовательность символов, которые, взятые вместе, образуют строку с нулевым символом в конце. "- C ++ Строковые литералы
Возможно, вы захотите использовать Boost::StaticAssert
, поскольку это может дать вам то, что вы ищете.