net31.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 69 行

C
69
字号
// Build don't link:class foo_a {  protected:        double func(int xi) {return 0.0;}  public:        foo_a() {}};class foo_b {  public:        foo_b(int);        foo_b();        ~foo_b();        foo_b(const foo_b&);        double& operator()(int);        foo_b& operator=(foo_b&);        void bar_a(int);};foo_b& operator*(foo_b&, foo_b&);foo_b& operator*(double, foo_b&);template <class TP>class foo_c {        typedef double (TP::* Tmatf)(int);        int m;        Tmatf* a;        void foo_cinst (int mm);  public:        foo_c(int mm);        foo_c() {m = 0; a = 0;}        ~foo_c() {delete a;}        double (TP::*& operator()(int i))(int) {return a[i];}        foo_b& bug_func(int);};template <class TP>foo_b& foo_c<TP>::bug_func(int x) {        static foo_b retval(m);        retval.bar_a(m);        for (register int i = 0; i < m; i++)	  retval(i) = (*(operator()(i)))(x);		// ERROR -         return retval;}template <class TP>class foo_d {  protected:        foo_c<TP> bar_b;  public:        foo_d() {}        virtual ~foo_d() {}        virtual void setfoo_c();};class foo_e : public foo_a, public foo_d<foo_a> {  public:        foo_e();        ~foo_e() {}        void setfoo_c();};void foo_e::setfoo_c() {        bar_b(0) = func;				// ERROR - }template class foo_c<foo_a>;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?