Chris Stankevitz <chrisstankevitz@gmail.com> wrote in
news:d86e4d32-6781-4cf9-a85a-b806c4325764@r5g2000yqc.googlegroups.com:
On Jan 2, 1:36 pm, Paavo Helde <myfirstn...@osa.pri.ee> wrote:
You could try to make this 'public virtual Observer'.
Thank you, yes I overlooked this. Although this does not help the
compile problem.
Strange, compiles fine with my MSVC2010 and gcc (though MSVC issues a
strange warning):
x64: tmp>cat test2.cpp
struct Observer
{
virtual void Notify() = 0;
};
struct ObserverImp : public virtual Observer
{
void Notify() {}
};
struct Shape : public virtual Observer
{
};
struct Square : public Shape, public ObserverImp
{
};
Shape* ShapeFactory()
{
return new Square;
}
int main() {
Square sq;
sq.Notify();
}
x64: tmp>g++ test2.cpp -Wall
x64: tmp>g++ -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-
999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-
prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --
libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --
enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-
included-gettext --enable-version-s
pecific-runtime-libs --without-x --enable-libgcj --disable-java-awt --
with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-
threads=posix --enable-java-gc=boehm --d
isable-win32-registry --enable-sjlj-exceptions --enable-hash-
synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Yes this compiles fine for me too. There is another thread here about the
MSVC warning..
http://stackoverflow.com/questions/469508/visual-studio-compiler-warning-c4250-class1-inherits-class2member-via-d
--- Posted via news://freenews.netfront.net/ - Complaints to news@netfront.net ---