Вот разбираюсь с новой версией Visual C++ 7.3, которая входит в поставку Visual Studio .Net 2004. Первое с чем столкнулся, не компилируеться простейщий пример.
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
}
Ругаеться, говорит:
main.cpp : error 1945 (3): undefined identifier "format".
Долго мучался. Решил посмотреть в файл stdio.h. При дальнейшем рассмотрении выяснилось, что printf обьявлен в stdio просто как макрос, который использует boost::format и std::cout. Но разработчики забыли включить boost/format.hpp в stdio.h. Пришлось переписать пример так:
#include <boost/format.hpp>
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
}
Хорошо что теперь MS поставляет VC вместе с библиотекой boost. А то пришлось бы выкачивать.
Из за этого нововведения, параметры в printf теперь задаються так:
#include <boost/format.hpp>
#include <stdio.h>
int main()
{
int i = 3;
printf("Hello, world! %d \n") % i;
}
Подробнее как задавать праметры к printf описано в документации boost.
01.04.04 18:59: Перенесено модератором из 'C/C++' — ПК