Boost logo

Boost Users :

From: Francesco Biscani (bluescarni_at_[hidden])
Date: 2008-03-18 13:43:17


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hicham Mouline wrote:
| hi,
|
| I have a template function <typename cT, typename tT, int n>
| {
| ....
| double array[n];
|
| if (n==2)
| binomial code
| else if (n==3)
| trinomial code (array[0] array[1] array[2])
| else
| ....
|
|
| compiler tries to compile the "trinomial code" code even when the
template
| is instantiated with n=2,
| and that gives warnings because of array[2]
|
| Is there a way to make the compiler ignore the non-binomial code ?
| rds

What about something like:

template <int N> void n_nomial_code() {}

template <> void n_nomial_code<2>() {}
template <> void n_nomial_code<3>() {}

...
{
....
double array[n];

n_nomial_code<n>(...);
~ ....
}

You can pass-by-reference the data you need inside the n_nomial_code
specializations.

~ Francesco.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFH3/81FCtI0YdDCEsRAk8vAJ0XELl3ODTR6LUHUVSF3CK5FgfNjgCbBKa6
PmRsXf+owWhYPJejCG8zpMY=
=t0Rt
-----END PGP SIGNATURE-----


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net