Различное поведение компилятора в отношении шаблона варидового шаблона - Ошибка C3520 / C3543C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Различное поведение компилятора в отношении шаблона варидового шаблона - Ошибка C3520 / C3543

Сообщение Anonymous »

Этот фрагмент кода компилируется в GCC & Clang, но не в MSVC: < /p>

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

template struct StrStuff {
explicit StrStuff(char const(&...s)[n]) {}
};

int main() {
StrStuff g("apple", "pie");
}
< /code>
x86 MSVC V19.43 VS17.13 Жаления: < /p>
error C3520: 'n': parameter pack must be expanded in this context
error C3543: 'const char (&)[0]': does not contain a parameter
MSVC может скомпилировать этот код, однако, если я переместил шаблон перед конструктором. Я что -то упускаю, или это проблема как GCC/Clang или MSVC?


Подробнее здесь: https://stackoverflow.com/questions/797 ... 3520-c3543
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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