Указатели нельзя использовать в качестве параметров значения T* p для шаблона (который специализирован во время компиляции), поскольку адрес памяти &obj некоторого объекта T obj известен только во время выполнения.
Вопрос
Если этот фон верен, то как может указатель использоваться во время компиляции, а не быть некорректным:
Код: Выделить всё
constexpr size_t length(const char* str)
{
size_t n = 0;
while (str[n] != '\0')
{
n++;
}
return n;
}
//...
constexpr size_t length = length("Monkey types Hamlet!");
Подробнее здесь: https://stackoverflow.com/questions/783 ... -work-in-c
Мобильная версия