Хм, я не могу воспроизвести это. Используя ваш точный код:
1>------ Build started: Project: so_1251288, Configuration: Debug Win32 ------
1>Compiling...
1>so_1251288.cpp
1>c:\users\matthew iselin\documents\visual studio 2008\projects\so_1251288\so_1251288\so_1251288.cpp(21) : warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
1>Linking...
1>Build log was saved at *snip*
1>so_1251288 - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Я предполагал, что вы используете Visual C ++. Какую версию ты используешь? Как настроена ваша среда?
Единственное, о чем я могу думать, это то, что вы можете непреднамеренно включить Unicode вместо многобайтовой кодировки символов ... Но это не должно вызывать ошибки, которые вы видите.
РЕДАКТИРОВАТЬ: я даже не могу воспроизвести, создав CLR-приложение Visual C ++ и непосредственно вставив ваш код. Нам нужна дополнительная информация для диагностики проблемы.
РЕДАКТИРОВАТЬ 2: На самом деле, я могу воспроизвести, когда я компилирую как код C (/ TC), а не C ++ (/ TP). Как уже упоминалось, C89 требует, чтобы переменные были определены в начале функций, что приводит к сбою вашего кода.