Каково хорошее решение, чтобы избежать «нереферентской функции с внутренней связью», предупреждения?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Каково хорошее решение, чтобы избежать «нереферентской функции с внутренней связью», предупреждения?

Сообщение Anonymous »

Я реализую некоторые функции в файлах заголовка (например, функции шаблонов), но затем некоторые из этих функций не используются в некоторых единицах переводов :

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

main.cpp

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

#include "include.h"

int main() {}
< /code>
include.h

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

#pragma once

namespace my_namespace {

static void foo1() {}

static void inline foo2() {}

}
< /code>
Unfortunately, this raises (at warning level /W4< /code>) < /p>

(5): предупреждение C4505: 'my_namespace :: foo1': нереферентная функция с внутренней связью была удалена
< /blockquote>
Я обнаружил, что функция статического встроенного < /code>. /Wall < /code>) как < /p>

(7): предупреждение C4514: 'my_namespace :: foo2': неочищенная встроенная функция была удалена
< /blockquote>
Я также обнаружил, что Anonymous namepaces - это опция, но мои функции  em> e em> em> em> em> em> ppaces. />  Итак, что я должен сделать, чтобы подавить эти предупреждения компилятора? Это все еще лучший совет? Должен ли я, по крайней мере, сделать static inline 
, чтобы переместить предупреждение с уровня 4 , чтобы уровень всех ?


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

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

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

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

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

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

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