К моему удивлению, это компилируется:
const char* c_str()
{
static const char nullchar = '\0';
return nullchar;
}
и он ввел ошибку в моем коде. К счастью, я поймал это.
Является ли это преднамеренным С++ или ошибка компилятора? Есть ли причина, по которой тип данных активно игнорируется?
Он работал в Visual С++ 2010 и GCC, но я не понимаю, почему он должен работать, учитывая очевидное несоответствие типа данных. (static
также не требуется.)