
On Tue, Oct 20, 2009 at 3:06 AM, Andrey Semashev <andrey.semashev@gmail.com>wrote:
Christian Schladetsch wrote:
Sure, but this is basic C++. Before the ctor to grammar(...) is invoked, the arguments to it have been evaluated. This requires construction of its arguments.
That is not true. The base class constructor is called _before_ any members are constructed. Try it yourself.
I am not sure what you are referring to. Before the C++ compiler passes a reference to something, it has constructed it. The example you gave was of a ctor taking a reference. Before that ctor is executed, I will personally guarantee that it and all it's base classes have been constructed. You are working under a delusion that should be corrected very soon. Regards, Christian