Здесь есть недоразумение об ограничении const
функций-членов.
Функция-член const
может вызывать любую функцию, которая ей нужна, при условии, что она не меняет состояние объекта. Таким образом, fun3()
компилируется превосходно, так как не изменяет ни одну переменную-член и не вызывает никаких неконстантных функций-членов для того же объекта.
Важное примечание: public B,C
может быть не тем, о чем вы думаете: это означает, что D наследует публично от B и конфиденциально от C. Если вы хотите, чтобы он наследовал публично из C вы должны заявить public B, public C
.
Опция компилятора warnaserror
поддерживает ошибки только для определенных предупреждений. Таким образом, вы можете указать все предупреждения, которые будут отображаться как ошибки, а затем отключить ошибки для определенных предупреждений. Используя пример страницы в качестве руководства:
/warnaserror
/warnaserror-:642,649,652
Это возможно в VS2005 при условии вы используете C #.
С http://blogs.msdn.com/kaevans/archive/2005/11/06/489681.aspx
В Visual Studio 2005 у вас есть еще пара вариантов, чтобы контролировать это. Теперь у вас есть 3 варианта лечения предупреждения как ошибки: все, нет или Особые предупреждения, где вы можете предоставить разделенный точкой с запятой список номера ошибок.
Также возможно сделать это с GCC с опцией -Werror =