List parameters

U

user

Hi,

I try this code:

template <typename T> inline
T const& max(T const& a, T const& b)
{
return a<b?b:a;
}

template <typename T, ... list> inline
T const& max(T const& a, T const& b, list const& x)
{
return max(a, max(b, x));
}


But it not compile.
I have this message:
"error: expected identifier before '...' token"

I saw this sample in book "c++ templates: the complete guide"
i use wxWidgets with gcc compiler.

Is this code legal? is it compile?
If no how use list parameters in template?

Thunks
 
D

David Harmon

On Sun, 22 Oct 2006 02:06:20 +0200 in comp.lang.c++,
(e-mail address removed) wrote,
template <typename T, ... list> inline
T const& max(T const& a, T const& b, list const& x)
{
return max(a, max(b, x));
}

No, the ... is not at all allowed there.
This is from chapter 13, "Future Directions", where the authors are
discussing things that don't exist yet, but might in the future,
right???
 
L

Lahsen

David Harmon a écrit :
On Sun, 22 Oct 2006 02:06:20 +0200 in comp.lang.c++,
(e-mail address removed) wrote,



No, the ... is not at all allowed there.
This is from chapter 13, "Future Directions", where the authors are
discussing things that don't exist yet, but might in the future,
right???

Ok,
Thunks.

I try to do it with typeListe technique in modern c++.

But there'is function ellipsis like:

void f(int ...);

f(1, 2, 3);
f(45, 68 ,2 ,64 ,3598);

that compile. But it's not easy to use argument of this function.
 
L

loufoque

Lahsen said:
But there'is function ellipsis like:

void f(int ...);

f(1, 2, 3);
f(45, 68 ,2 ,64 ,3598);

that compile. But it's not easy to use argument of this function.

That's a runtime thing which isn't type-safe at all.
It should be avoided.
 
L

loufoque

Hi,

I try this code:

template <typename T> inline
T const& max(T const& a, T const& b)
{
return a<b?b:a;
}

template <typename T, ... list> inline
T const& max(T const& a, T const& b, list const& x)
{
return max(a, max(b, x));
}


But it not compile.

You might want to play around with variadic templates, a proposal for
the next C++ standard which will allow what you want.
There is already a patch to implement it in GCC.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top