[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.c++

template non type parameters in operator overloaded function

aravindap

10/23/2008 1:25:00 PM

Hi All,
I am trying to do following things,

#include <iostream>

using namespace std;
class x{

------- // member variables

public:

template <int flag>
void setFlag ();

template <int id>
void operator+= (x& obj1);
}

template <int flag>
void x::setFlag(){ cout << " inside setFlag " << flag << endl; }

template <int id>
void x::operator+=(x& obj1){ cout << "inside +=" << id << endl; }

int main()
{
x o1, o2;
o1.setFlag <1> ();
o1 += <22>o2 ; /* Line no 3 */
o1.operator+= <22> (o2); /* Line no 4 */
}

Problem
========
In line no 3 I am getting " error: expected primary-expression before
'<' token"
If i modify line 3 as line no 4, no issues. I am getting proper
output.
Please let me know how my implementation should be to have something
similar to line 3 , I dont want to have like one in line no 4.

Thanks and Regards,
Aravind.
2 Answers

Gianni Mariani

10/23/2008 7:35:00 PM

0

aravindap wrote:
....
> Please let me know how my implementation should be to have something
> similar to line 3 , I dont want to have like one in line no 4.

I think you're out of luck. I don't think C++ supports the line 3 syntax.

aravindap

10/24/2008 3:57:00 AM

0

On Oct 24, 12:35 am, Gianni Mariani <gi4nos...@mariani.ws> wrote:
> aravindapwrote:
>
> ...
>
> > Please let me know how my implementation should be to have something
> > similar to line 3 , I dont want to have like one in line no 4.
>
> I think you're out of luck. I don't think C++ supports the line 3 syntax.

Thanks Gianni, for now I will settle for line no 4 syntax, is it
possible for us to suggest people to include such syntax ?