more about virtual functions access specifier changing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -46,8 +46,14 @@ The changes that are NOT binary compatible:
|
|||||||
even a default one)
|
even a default one)
|
||||||
- Changing the order of the virtual functions in a class
|
- Changing the order of the virtual functions in a class
|
||||||
["switching" them, etc.]
|
["switching" them, etc.]
|
||||||
- Changing access privileges to a function (protected to private etc.)
|
- Changing access privileges of a function: some compilers (among which MSVC)
|
||||||
[unlike KDE we need to support windows so this is not allowed]
|
use the function access specifier in its mangled name. Moreover, while
|
||||||
|
changing a private function to public should be compatible (as the old
|
||||||
|
symbol can't be referenced from outside the library anyhow), changing a
|
||||||
|
virtual private function to public is NOT compatible because the old symbol
|
||||||
|
is referenced by the virtual tables in the executable code and so an old
|
||||||
|
program compiled with MSVC wouldn't start up with a new DLL even if it
|
||||||
|
doesn't use the affected symbol at all!
|
||||||
- Adding a member variable
|
- Adding a member variable
|
||||||
- Changing the order of non-static member variables
|
- Changing the order of non-static member variables
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user