|
what is the error you getting?
Yusuf
|
|
|
|
|
proj06.driver.cpp: In function 'int main()':
proj06.driver.cpp:38: warning: the address of 'Rational G()', will always evaluate as 'true'
proj06.rational.cpp: In function 'bool operator==(const Rational&, const Rational&)':
proj06.rational.cpp:150: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:151: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'bool operator!=(const Rational&, const Rational&)':
proj06.rational.cpp:167: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:168: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'bool operator<(const Rational&, const Rational&)':
proj06.rational.cpp:183: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:184: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'bool operator<=(const Rational&, const Rational&)':
proj06.rational.cpp:199: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:200: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'bool operator>(const Rational&, const Rational&)':
proj06.rational.cpp:216: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:217: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'bool operator>=(const Rational&, const Rational&)':
proj06.rational.cpp:232: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp:233: error: passing 'const Rational' as 'this' argument of 'void Rational::Simplify()' discards qualifiers
proj06.rational.cpp: In function 'Rational operator+(const Rational&, Rational)':
proj06.rational.cpp:255: error: conversion from 'void' to non-scalar type 'Rational' requested
proj06.rational.cpp: In function 'Rational operator-(const Rational&, Rational)':
proj06.rational.cpp:276: error: conversion from 'void' to non-scalar type 'Rational' requested
proj06.rational.cpp: In function 'Rational operator*(const Rational&, Rational)':
proj06.rational.cpp:296: error: conversion from 'void' to non-scalar type 'Rational' requested
proj06.rational.cpp: In function 'Rational operator/(const Rational&, Rational)':
proj06.rational.cpp:316: error: conversion from 'void' to non-scalar type 'Rational' requested
|
|
|
|
|
you are trying to modify const object. Your overloaded operator == takes const parameter
bool operator==( const Rational& A, const Rational& B )
but then you call Simplify which it tries to change the value of your const object.
Here is something that can walk you through const declaration [^] and another one [^] yet another one[^]
Yusuf
|
|
|
|
|
Well, what are the errors the compiler give you?
I've given it to my XCode compiler (on Mac OSX) and it give me errors with some methods (operators) that receive constant objects that you try to modify with "Simplify".
IMO, for comparator operators (== !=, ... ) you do not want to modify the input, so don't call Simplify.
Also, the Simplidy() method returns void, and you "return" this in a couple of methods.
This signature was proudly tested on animals.
|
|
|
|
|
Thanks for that i knew it was some dumb thing I was doing.
Any idea how to do the input operation I'm clueless on that one...
|
|
|
|
|
Hi,
I have a MFC application(Dialog) in unmanaged code in VC6. I needed to embed a Dot net control into the MFC dialog.
The Dot Net control can be a C# window form or a WPF control.
Please help with examples or links.
Thanks
|
|
|
|
|
|
Hi everyone.
I just downloaded EC++ 4.0 and i have been trying hard to make it run on my Windows XP.
First of all it did not open because apparently "No standard SDK was found on the desktop....".
So i downloaded the Standard SDK 5.O and installed it on my pc.
This time Ec++ did open and i was able to open a project.
However when i tried compiling the program another error message was displyed...
" The application targeting a standard SDK for Windows CE.net and built for the SH4 CPU cannot be run on the Emulator device. Inorder to run this application on any CPU other than the Emulator you will have to install an SDK that is compatible with the standard SDK for Windows CE.net, the target a shadow platform pertaining to that SDK.
Please see EVC documentation for more details."
Can anyone please help me with this....
PS: The application i have been trying to compile is a remote control application written in Ec++ for a pocket PC running Windows CE 3.0.
Thanks in advance...
|
|
|
|
|
Hi guys!
My organisation has an application that is approximately 10 years old. It is not a Web application. It is supported by MS Visual Studio 6 and still runs mostly on Windows NT4 workstations and a few XP. They want to replace all NT4 computers with XPs and take the opportunity to upgrade our development environment also. Looking at the Microsoft site, I think that all we need is the Visual Studio 2008 Professional with MSDN Professional version.
Is this a good plan and if it is, how hard is it to migrate to this new version?
Thanks!
jpyp
|
|
|
|
|
Who could know? There are many specifics you havn't identified.
|
|
|
|
|
jpyp wrote: My organisation has an application that is approximately 10 years old. It is not a Web application. It is supported by MS Visual Studio 6 and still runs mostly on Windows NT4 workstations and a few XP.
Is your application something you _use_ or something you _develop_ ?
|
|
|
|
|
jpyp wrote: It is supported by MS Visual Studio 6
Is this home grown application? What language is it written? I am assuming from your post, C++, but it could be VB as well. Who maintains it now, you other group? there are details missing from your post.
Yusuf
|
|
|
|
|
Yes it is a home grown MFC C++ application and we maintain it. I am more concern about the required level of effort to upgrade it to VC++ 2008.
Thanks!
jpyp
|
|
|
|
|
It has been awhile since I worked with MFC. this[^] should get you up with speed with Visual C++ changes. There are sections on upgrades and see any of that stuff is helpful.
Yusuf
|
|
|
|
|
Should be no problem at all. I write MFC applications and have both VS 6.0 and VS 2008 installed on my XP computer. If I open a 6.0 project with VS 2008, it gets automatically converted to the new project format.
|
|
|
|
|
jpyp wrote: ...how hard is it to migrate to this new version?
Not hard at all. The IDE can convert the project in less than a minute. You'll still need to change the code, however, to adhere to the stricter C++ rules.
If you are not using MFC, you may be able to get away with the Express Edition.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Thanks everyone for your thoughts/help. I feel more confident now going ahead with the upgrade.
jpyp
|
|
|
|
|
COLORREF Color6;
color6 = GetPixel(MemDC,Point.x,Point.y);
How do I display the value of color6 in a messagebox.
|
|
|
|
|
For example like this:
CString message;
message.Format("Red: %d, Green: %d, Blue: %d", GetRValue(Color6), GetGValue(Color6), GetBValue(Color6));
AfxMessageBox(Message, MB_OK);
But i guess that is not how you meant...so you could try this: make a simple dialog box and do something like:
class CMyColorDialog: public CDialog
{
protected:
COLORREF m_Color;
public:
CMyColorDialog(CWnd *pParent, COLORREF color);
...
afx_msg BOOL OnEraseBkgnd(CDC *pDC);
};
...
CMyColorDialog::CMyColorDialog(CWnd *pParent, COLORREF color)
:CDialog(CMyColorDialog::IDD, pParent), m_Color(color)
{
}
...
BEGIN_MESSAGE_MAP(CMyColorDialog, CDialog)
...
ON_WM_ERASEBKGND()
...
END_MESSAGE_MAP()
BOOL CMyColorRialog::OnEraseBkgnd(CDC *pDC)
{
CRect Rect;
GetClientRect(&Rect);
pDC->FillSolidRect(Rect, m_Color);
return TRUE;
}
...
COLORREF Color6;
Color6 = GetPixel(MemDC,Point.x,Point.y);
CMyColorDialog Dlg(NULL, Color6);
Dlg.DoModal();
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
The first sugetion gives me an error
CString message;
message.Format("Red: %d, Green: %d, Blue: %d", GetRValue(color6), GetGValue(color6), GetBValue(color6));
AfxMessageBox(message, MB_OK);
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
|
|
|
|
|
what do you think GetRValue, GetGValue and GetBValue returns? that should give you a clue.
Yusuf
|
|
|
|
|
Yes you are right.. I was expecting a long value however I have spent like a good chunk of time. and not sure where i am going wrong..
Hence the heading dunb question...I would first like to be able to display the value of color as a string in a messagebox to see it.
the same routine works fine in Vb and I am trying to migrate it into c++ with some other functions.
|
|
|
|
|
I'm not sure what the problem there is, since that error message you gave is too vague, does this work then:
message.Format(_T("Red: %d, Green: %d, Blue: %d"), (int)GetRValue(color6), (int)GetGValue(color6), (int)GetBValue(color6));
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
Thank you this works...Is there a way I can display the color6 with long values instead of RGB?
thanks
|
|
|
|
|
How do you mean that?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|