Сообщение об ошибке при выполнении под IIS

Я хотел бы добавить к добрым разъяснениям OJ.

Виртуальное наследование не происходит без цены. Как со всеми виртуальными вещами, Вы поражали производительность. Существует путь вокруг этого хита производительности, который возможно менее изящен.

Вместо того, чтобы повредить ромб путем получения фактически, можно добавить другой слой к ромбу, для получения чего-то вроде этого:

   B
  / \
D11 D12
 |   |
D21 D22
 \   /
  DD

Ни один из классов не наследовался фактически, все наследовались публично. Классы D21 и D22 тогда скроют виртуальную функцию f (), который неоднозначен для DD, возможно, путем объявления частной функции. Они каждый определили бы функцию обертки, f1 () и f2 () соответственно, каждый звонящий локальный для класса (частный) f (), таким образом разрешив конфликты. DD класса называет f1 (), если это хочет D11:: f () и f2 (), если это хочет D12:: f (). При определении оберток, встроенных, Вы, вероятно, доберетесь о нуле наверху.

, Конечно, если можно изменить D11 и D12 тогда, можно сделать тот же прием в этих классах, но часто дело не в этом.

5
задан Marty 16 January 2012 в 07:12
поделиться

1 ответ

Убедитесь, что вы редактируете файл PHP в правильном месте; IIS может искать файл php.ini в C: \ WINDOWS, а не в месте установки модуля PHP ISAPI или CGI. Проверьте вывод phpinfo (); чтобы определить, что вы редактируете правильный файл php.ini. Кроме того, вам необходимо перезапустить службу IIS (или компьютер в целом), прежде чем эти изменения вступят в силу.

4
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: