Поэтому я, естественно, предположил, что
Код: Выделить всё
namespace {
int x;
}
namespace {
int y;
}
< /code>
должен перевести на: < /p>
namespace unique1 {
int x;
}
namespace unique2 {
int y;
}
< /code>
Однако CppReerference утверждает, что < /p>
Уникальное имя уникально во всей программе, но в пределах единицы перевода в одном и том же определении имени именных именных именных имен. /> , который, по-видимому, противоречит стандарту.
Я попытался собрать следующий пример с GCC-151 (не компилируется) и Clang-20.1 (компилированные и выходы ожидаемых результатов 42
namespace {
class AnonClass;
}
class A {
public:
void print() {
std::cout
Какой компилятор правильный? Должны ли оба неназванных пространства имен иметь одинаковый уникальный идентификатор или их следует считать разными?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ation-unit