Annotation of researchv10dc/man/man1/junk, revision 1.1.1.1

1.1       root        1: > A suggested rule of thumb: every inline member function must
                      2: > be defined in the header file that carries the corresponding
                      3: > class declaration.
                      4: > 
                      5: > A more general rule: every inline function must be defined in
                      6: > every file that declares it.
                      7: 
                      8: Pretty draconian.  By analogy, the same thing should be true
                      9: of static functions.  This trivial program would then be wrong:
                     10: 
                     11:        static f();
                     12:        main() { }
                     13: To: C++ language issues mailing list
                     14: From: bs
                     15: 
                     16: Both 2.0 and 2.1 accepts this:
                     17: 
                     18:        class A { public: f(); };
                     19:        class B : public virtual A {};
                     20:        class C : public A { g(); };
                     21: 
                     22:        C::g() { f(); }
                     23: 
                     24: calling the A::f() in the non-virtual base.
                     25: 
                     26: yet the manual states that a virtual class is an immediate base of ever
                     27: class directly or indirectly derived from it (or words to that effect).
                     28: 
                     29: Should cfront be brought into line with the manual or should the manual
                     30: be brought into line with cfront? In the former case, do we break code?
                     31: in the latter, how?

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.