
Bugs in the Zortech C++ Compiler (ztc) version ???? :


1. All member functions with the same name have the same protection,
   they are all either private, protected, or public.


   Example:

   class A {

   private:

   void F(int x) { ...}


   public:

   void F(float x) {... }       // bug: the second F is considered private too

   };


   A a;

   a.F(1.0);         // error message:  F private member







2. Applying the adress-of operator & to the (reference type) result of 
   a member function call sometimes results in a syntax error message.


   Example:

   class generic_array {

    void * vec;

    void*&  elem(int i) { return vec[i]; }

   };


   class int_array : generic_array {

                     // syntax error |  "no instance of class generic_array"
                                     v
   int& elem(int i)  { return *(int*)&(generic_array::elem(i)); }

   };



3.  operator() cannot be overloaded as const and non-const


    Example:

    class matrix {
   
    
    double& operator()(int i, int j)       { return mat[i][j]; }

    double  operator()(int i, int j) const { return mat[i][j]; }


    };



    matrix M;

    x = M(i,j)   // error: ambiguous  function call





