Re: Const structure pointer as template argument
Re: Const structure pointer as template argument
- Subject: Re: Const structure pointer as template argument
- From: Paul Walmsley <email@hidden>
- Date: Fri, 30 Jun 2006 09:55:33 +0100
typedef struct testStruct
{
long a;
} testStruct;
template <const testStruct * bob> class Helper
{
};
// this compiles
testStruct nonConstTestStruct = {0};
Helper<&nonConstTestStruct> HelperNonConst;
// this doesn't
const testStruct constTestStruct = {0};
Helper<&constTestStruct> HelperConst;
Unless you're trying to do something very subtle, I reckon that this is
really what you wanted to do:
struct testStruct
{
long a;
};
template <class T> class Helper
{
};
testStruct nonConstTestStruct = {0};
Helper<testStruct*> HelperNonConst;
const testStruct constTestStruct = {0};
Helper<const testStruct*> HelperConst;
If you had a need to pass a const or non-const pointer into the Helper
so that it references a testStruct, then change the definition to this:
template <class T> class Helper
{
Helper(T object) : myObject(object) {};
T myObject;
};
const testStruct constTestStruct = {0};
Helper<const testStruct*> HelperConst(&constTestStruct);
Paul
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden