Проверка во время компиляции Boost.Format

И Clang, и GCC могут проверять функции в стиле printf на предмет несоответствия между их строками формата и их аргументами. Например, они будут жаловаться на такие заявления:

printf("Hello, %s!\n");

Существует ли что-нибудь подобное для Boost.Format? Другими словами, есть ли какие-либо переключатели компилятора, инструменты статического анализа и т. Д., Которые могут предупреждать о таком коде, как

std::string s1 = str(boost::format("Hello, %s!"));

или же

std::string s2 = str(boost::format("Hello, %s!") % "John" % "Doe");

1

Решение

Похоже, это не поддерживается
Билет был создан на повышение, чтобы отследить его.
Возможно, вы захотите подобрать транковую версию, если она вам действительно нужна.

https://svn.boost.org/trac/boost/ticket/6815

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]