Могу ли я запустить предупреждение компилятора и без ошибки связывания, только с шаблонной объявлением?C++

Программы на C++. Форум разработчиков
Anonymous
Могу ли я запустить предупреждение компилятора и без ошибки связывания, только с шаблонной объявлением?

Сообщение Anonymous »

Я хочу написать объявление, шаблонное на типе, такое, что: < /p>

[*] Если не экземпляр, не вызывает никаких предупреждений компилятора или ошибок, даже при строгих предупреждающих флагах. Предупреждение компилятора должно быть «типичным» в том смысле, что имя функции и аргумент типа шаблона печатаются.
[*] Не требуется никаких заголовков. /> < /ol>
Это требования. Теперь для того, что желательно, но не абсолютно необходимо: < /p>
  • работает с как можно большим количеством компиляторов. Указано. < /li>
    < /ul>
    Примечания: < /strong> < /p>

    Объявленная сущность может быть функцией, типом или чем-либо еще, что может быть шаблон. В отношении альтернативного потенциального ответа на этот вопрос, но мне также вообще любопытно. PrettyPrint-Override ">

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

    template [[deprecated]] void f(){}
    < /code>
    < /li>
     Проектное требование (5.)-Мы можем использовать:
    template  inline void f();
    < /code>
    Это создает соответствующее предупреждение с Clang и GCC; А с GCC это предупреждение одной линии. К сожалению, когда вы ссылаетесь, вы получаете ошибку. < /Li>
     Превышение действительного C ++, но не в зависимости от компиляции C ++ 17, мы можем использовать конструкцию только GCC:
    template 
    [[gnu::warning("some text here")]]
    void f() {}
    


Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-declara

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