Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h"
#include <iostream.h>
class prop
{
private:
int x;
int y;
public:
prop(int x, int y);
int& X();
int& operator= (int);
};
prop::prop(int x, int y)
{
prop::x=x;
prop::y=y;
}
int& prop::X()
{
return x;
}
int& prop::operator=(int=0)
{
return x;
}
int main(int argc, char* argv[])
{
prop a(1, 2);
cout << "a.X=" << a.X() << '\n';
a.X=10; <-----------------------------------
cout << "a.X=" << a.X() << '\n';
return 0;
}
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded function
as left operand
Can someone explain why?
Thanx,
Bill 6 1243
I don't believe that
int& operator= (int);
has any returns.
void operator=(const int& x) {
somevalue = x;
}
Alex
"web1110" <we***@comcast.net> wrote in message
news:Y6********************@comcast.com... Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h" #include <iostream.h>
class prop { private: int x; int y;
public: prop(int x, int y); int& X(); int& operator= (int); };
prop::prop(int x, int y) { prop::x=x; prop::y=y; }
int& prop::X() { return x; }
int& prop::operator=(int=0) { return x; }
int main(int argc, char* argv[]) { prop a(1, 2); cout << "a.X=" << a.X() << '\n'; a.X=10; <----------------------------------- cout << "a.X=" << a.X() << '\n'; return 0; }
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded function as left operand
Can someone explain why?
Thanx, Bill
I can see you're overloading the = operator however when you try to assign a
value to X (class member) you get the following error because X is a member
function it returns some address (in your case the private field, x).
Regards,
--
Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA http://groups.msn.com/desarrolladoresmiranda
"web1110" <we***@comcast.net> wrote in message
news:Y6********************@comcast.com... Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h" #include <iostream.h>
class prop { private: int x; int y;
public: prop(int x, int y); int& X(); int& operator= (int); };
prop::prop(int x, int y) { prop::x=x; prop::y=y; }
int& prop::X() { return x; }
int& prop::operator=(int=0) { return x; }
int main(int argc, char* argv[]) { prop a(1, 2); cout << "a.X=" << a.X() << '\n'; a.X=10; <----------------------------------- cout << "a.X=" << a.X() << '\n'; return 0; }
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded function as left operand
Can someone explain why?
Thanx, Bill
On Fri, 8 Apr 2005 11:14:06 -0400, web1110 wrote: Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h" #include <iostream.h>
class prop { private: int x; int y;
public: prop(int x, int y); int& X(); int& operator= (int); };
prop::prop(int x, int y) { prop::x=x; prop::y=y; }
int& prop::X() { return x; }
int& prop::operator=(int=0) { return x; }
int main(int argc, char* argv[]) { prop a(1, 2); cout << "a.X=" << a.X() << '\n'; a.X=10; <----------------------------------- cout << "a.X=" << a.X() << '\n'; return 0; }
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded function as left operand
Can someone explain why?
Thanx, Bill
a.X=10
X is a method of prop. So you're trying to assign 10 to the method X. Of
course, that's not possible.
--
Claudio Grazioli http://www.grazioli.ch
a = 10 to use the overloaded "=".
Alex
"Claudio Grazioli" <ne********@gmx-ist-cool.de> wrote in message
news:1t******************************@40tude.net.. . On Fri, 8 Apr 2005 11:14:06 -0400, web1110 wrote:
Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h" #include <iostream.h>
class prop { private: int x; int y;
public: prop(int x, int y); int& X(); int& operator= (int); };
prop::prop(int x, int y) { prop::x=x; prop::y=y; }
int& prop::X() { return x; }
int& prop::operator=(int=0) { return x; }
int main(int argc, char* argv[]) { prop a(1, 2); cout << "a.X=" << a.X() << '\n'; a.X=10; <----------------------------------- cout << "a.X=" << a.X() << '\n'; return 0; }
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded function as left operand
Can someone explain why?
Thanx, Bill
a.X=10
X is a method of prop. So you're trying to assign 10 to the method X. Of course, that's not possible.
-- Claudio Grazioli http://www.grazioli.ch
No. Operator=() intricsically returns the right-hand side. So things
like a=b=c=d=e=0 are allowed.
"Alex Passos" <bz@netmerlin.nospam.com> wrote in message
news:#Y**************@TK2MSFTNGP15.phx.gbl... I don't believe that
int& operator= (int);
has any returns.
void operator=(const int& x) { somevalue = x; }
You can't take emulating a property quite that far(*). X is still a
method, and must be called as X():
a.X() = 10;
(*) Actually, you can get but it's way more work than you want to do.
Define X as a public data member of type PropInt. Put you setter in the
PropInt::PropInt(int) constructor, and the getter in PropInt::operator
int().
"web1110" <we***@comcast.net> wrote in message
news:Y6********************@comcast.com... Hi y'all,
This is the wrong venue, but I have C++ question.
I was playing with VS 6.0 and tried this program:
#include "stdafx.h" #include <iostream.h>
class prop { private: int x; int y;
public: prop(int x, int y); int& X(); int& operator= (int); };
prop::prop(int x, int y) { prop::x=x; prop::y=y; }
int& prop::X() { return x; }
int& prop::operator=(int=0) { return x; }
int main(int argc, char* argv[]) { prop a(1, 2); cout << "a.X=" << a.X() << '\n'; a.X=10; <----------------------------------- cout << "a.X=" << a.X() << '\n'; return 0; }
The marked line produces the error:
S:\tmp\VS60\Props\Props.cpp(39) : error C2659: '=' : overloaded
function as left operand
Can someone explain why?
Thanx, Bill This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Mohammed Mazid |
last post by:
Can anyone please help me on how to move to the next and previous
question?
Here is a snippet of my code:
Private Sub cmdNext_Click()
End Sub
Private Sub cmdPrevious_Click()
showrecord
|
by: Stevey |
last post by:
I have the following XML file...
<?xml version="1.0"?>
<animals>
<animal>
<name>Tiger</name>
<questions>
<question index="0">true</question>
<question index="1">true</question>
</questions>
|
by: nospam |
last post by:
Ok, 3rd or is it the 4th time I have asked this question on Partial Types,
so, since it seems to me that Partial Types is still in the design or
development stages at Microsoft, I am going to ask...
|
by: Ekqvist Marko |
last post by:
Hi,
I have one Access database table including questions and answers. Now
I need to give answer id automatically to questionID column. But I
don't know how it is best (fastest) to do?
table...
|
by: glenn |
last post by:
I am use to programming in php and the way session and post vars are past
from fields on one page through to the post page automatically where I can
get to their values easily to write to a...
|
by: Rider |
last post by:
Hi, simple(?) question about asp.net configuration..
I've installed ASP.NET 2.0 QuickStart Sample successfully. But, When I'm
first start application the follow message shown.
=========
Server...
|
by: Jeff |
last post by:
In the function below, can size ever be 0 (zero)?
char *clc_strdup(const char * CLC_RESTRICT s)
{
size_t size;
char *p;
clc_assert_not_null(clc_strdup, s);
size = strlen(s) + 1;
|
by: spibou |
last post by:
In the statement "a *= expression" is expression assumed to be
parenthesized ? For example if I write "a *= b+c" is this the same
as "a = a * (b+c)" or "a = a * b+c" ?
|
by: Allan Ebdrup |
last post by:
Hi,
I'm trying to render a Matrix question in my ASP.Net 2.0 page, A matrix
question is a question where you have several options that can all be rated
according to several possible ratings (from...
|
by: Zhang Weiwu |
last post by:
Hello!
I wrote this:
..required-question p:after {
content: "*";
}
Corresponding HTML:
<div class="required-question"><p>Question Text</p><input /></div>
<div...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
| |