Ошибка MSVC? -`std :: type_info :: name ()` Не удается, когда параметр шаблона, не являющегося типом, имеет тип `unsigneC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка MSVC? -`std :: type_info :: name ()` Не удается, когда параметр шаблона, не являющегося типом, имеет тип `unsigne

Сообщение Anonymous »

Я давно думал, что странно, что MSVC использует __int64 в качестве имени для типа Long Long во всех своих диагностических сообщениях.

Код: Выделить всё

// MSVC outputs "__int64"
std::cout 
Это необычно, но я могу жить с ним. Помимо странного имени, тип ведет себя как 64-битный тип длиной длиной 
, должен вести себя. Это возникло, когда я попросил MSVC дать мне имя struct. Другие встроенные целочисленные типы. < /p>

Код: Выделить всё

// main.cpp
#include 
#include 
#include 

template
< typename Int
, Int Max = std::numeric_limits::max()
>
struct foo {
static Int max() {
return Max;
}
static std::string name() {
return typeid(foo).name();  // 

Подробнее здесь: [url]https://stackoverflow.com/questions/79655596/msvc-bug-stdtype-infoname-fails-when-non-type-template-parameter-has[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»