Можно ли определить, является ли аргумент, переданный в макро или функции, строковым литералом во время компиляции или времени выполнения?
Например,
#define is_string_literal(X)
...
...
is_string_literal("hello") == true;
const char * p = "hello";
is_string_literal(p) == false;
или
bool is_string_literal(const char * s);
is_string_literal("hello") == true;
const char * p = "hello";
is_string_literal(p) == false;
Спасибо.