"Hello, world!" не компилируеться на VC 7.3
От: sergey_shandar США http://getboost.codeplex.com/
Дата: 01.04.04 09:58
Оценка: 3 (1) :))) :))) :))) :))) :))) :))) :))) :)
Вот разбираюсь с новой версией 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++' — ПК
getboost.codeplex.com
citylizard.codeplex.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.