Используйте size_t
:
for (size_t i=0; i < polygon.size(); i++)
Заключение в кавычки Википедия :
stdlib.h и stddef.h заголовочные файлы определяют тип данных, названный
size_t
, который используется для представления размера объекта. Библиотечные функции, которые берут размеры, ожидают, что они будут типаsize_t
, и sizeof оператор оценивает кsize_t
.фактический тип
size_t
зависим от платформы; частая ошибка состоит в том, чтобы принятьsize_t
, совпадает с неподписанным интервалом, который может привести к программным ошибкам, особенно поскольку 64-разрядная архитектура становится более распространенной.
Вот пара предложений (я не действительно знаю, что происходит и / или почему; так что это всего лишь предложения; может быть, один из них решит проблему ^^) .
Прежде всего, пара вопросов:
(Они имеют значение, по крайней мере, если ни одно из этих предложений не помогает)
var_dump ($ _ SESSION); die;
в конце сценария, который устанавливает данные в сеансе, что это дает? Первая идея: что, если вы установите какой-либо заголовок, чтобы отключить кеширование браузером?
Подобные вещи, например:
session_start();
header("Cache-control: private");
Вторая идея (по крайней мере, если вы используете Windows): вы пытались отключить антивирус / брандмауэр?
Правильно ли создается файл cookie сеанса в браузере клиента?
Если вы используете субдомены (или нет): в порядке ли домен cookie? Как насчет даты истечения срока его действия?
Третья идея:
error_reporting
установлен на E_ALL
, что хорошо display_errors
? Установлено ли для него значение «Вкл.», Чтобы отображались ошибки? error_log PHP / Apache
?
Еще один вопрос: Вы уверены, что абсолютно ничего не попадает в вывод до того, как начало_сеанса
? Даже пробелов?
Еще один: Вы уверены в разрешениях на каталоги / файлы?
Какие права доступа к каталогу сеанса и к (пустым) файлам, которые создаются?
У меня заканчиваются идеи ... Если повезет, может быть, один из них окажется правильным ... Или поможет вам выяснить, какой будет правильный!
Удачи!
Говоря о 2-часовом времени сборки, часто также существует простое и дешевое (в широком смысле) решение:Если вы установите IncrediBuild на каждую машину, которая должна его построить, он распределяет процесс сборки между всеми машинами. Если вы действительно хотите решить проблему с помощью оборудования, вы можете настроить несколько выделенных машин, которые будут служить только клиентами IncrediBuild.
В другом масштабе убедитесь, что в каждом проекте правильно настроены предварительно скомпилированные заголовки.
Сделайте несколько решений для проекта, которые включают только соответствующие подмножества проектов, и оставьте одно супер-решение для выпусков и т. Д.
Вы можете попробовать распределенную систему сборки Incredibuild: http://www.xoreax.com/visual_studio.htm
Вы можете использовать такой инструмент, как lint , чтобы проверить, есть ли у вас избыточные включаемые файлы в ваших проектах C ++.
Также есть отличная статья на эту тему в Games from Within .