Так, как исправить предупреждения на этом простом близком звонящем RAII? - PullRequest
0 голосов
/ 07 марта 2020

Итак, я получаю это предупреждение для строки:

warning: ignoring attributes on template argument ‘int (*)(DIR*) {aka int (*)(__dirstream*)}’ [-Wignored-attributes]
     std::unique_ptr<DIR, decltype(closedir)*> cd(od, closedir);

Таким образом, я вижу атрибут подсказки компилятора __nonnull в спецификации c:

/* Close the directory stream DIRP.
   Return 0 if successful, -1 if not.

   This function is a possible cancellation point and therefore not
   marked with __THROW.  */
extern int closedir (DIR *__dirp) __nonnull ((1));

Так почему же нет t declspe c скопировать этот атрибут и как мне заставить его замолчать, не написав что-нибудь уродливое?

Написано для c ++ 11, но я был бы рад услышать, что «они исправили это позже»

...