Thread: No Match For Operator+ ???????

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date
    Apr 2008
    Posts
    167

    No Match For Operator+ ???????

    My Class:

    Code:
    #include <iostream>
    #include <string>
    using namespace std;
    
    class Integer
    {
      public:
        Integer(int i);
        Integer(std::string str);
    
        int getValue();
        void setValue(int i);
        void add(Integer& i);
        void subtract(Integer& i);
        void multiply(Integer& i);
        void divide(Integer& i);
      private:
        int myInteger;
    };
    My Implementation:

    Code:
    #include <iostream>
    #include <string>
    #include "integer.h"
    
    Integer::Integer(int i)
    {
      myInteger = i;
    }
    
    Integer::Integer(std::string str)
    {
      myInteger = atoi( str.c_str() );
    }
    
    int Integer::getValue()
    {
      return myInteger;
    }
    
    void Integer::setValue(int i)
    {
      myInteger = i;
    }
    
    void Integer::add(Integer& i)
    {
      myInteger = myInteger + i;
    }
    
    void Integer::subtract(Integer& i)
    {
      myInteger = myInteger - i;
    }
    
    void Integer::multiply(Integer& i)
    {
      myInteger = myInteger * i;
    }
    void Integer::divide(Integer& i)
    {
      myInteger = myInteger / i;
    }
    Errors:

    Code:
    
    integer.cpp: In member function ‘void Integer::add(Integer&)’:
    integer.cpp:31: error: no match for ‘operator+’ in ‘((Integer*)this)->Integer::myInteger + i’
    integer.cpp: In member function ‘void Integer::subtract(Integer&)’:
    integer.cpp:36: error: no match for ‘operator-’ in ‘((Integer*)this)->Integer::myInteger - i’
    integer.cpp: In member function ‘void Integer::multiply(Integer&)’:
    integer.cpp:41: error: no match for ‘operator*’ in ‘((Integer*)this)->Integer::myInteger * i’
    integer.cpp: In member function ‘void Integer::divide(Integer&)’:
    integer.cpp:46: error: no match for ‘operator/’ in ‘((Integer*)this)->Integer::myInteger / i’
    make: *** [integer.o] Error 1
    


    Why is this happening??? Why can't I freaking *ADD*?????
    Last edited by Paul22000; 05-14-2008 at 12:12 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 9
    Last Post: 03-30-2009, 06:37 PM
  2. no match for 'operator>>'
    By Taka in forum C++ Programming
    Replies: 3
    Last Post: 03-30-2009, 12:17 AM
  3. Function validation.
    By Fhl in forum C Programming
    Replies: 10
    Last Post: 02-22-2006, 08:18 AM
  4. 2 array match
    By ajastru2000 in forum C++ Programming
    Replies: 5
    Last Post: 07-18-2003, 07:58 AM
  5. How do I match 2 files to print data.
    By sketchit in forum A Brief History of Cprogramming.com
    Replies: 0
    Last Post: 11-12-2001, 05:45 PM