Optional parameter for reference to pointer?
c++, option-type, parameters, pointers, reference
Solution
You could just overload the function
template <typename T>
inline void Delete (T *&MemoryToFree){
delete MemoryToFree;
MemoryToFree = NULL;
}
template <typename T, typename T2>
inline void Delete (T *&MemoryToFree, T2 *&MemoryToFree2){
delete MemoryToFree;
MemoryToFree = NULL;
delete MemoryToFree2;
MemoryToFree2 = NULL;
}
Problem
How do I declare the second parameter as optional? ``` template <typename T> inline void Delete (T *&MemoryToFree, T *&MemoryToFree2 = ){ delete MemoryToFree; MemoryToFree = NULL; delete MemoryToFree2; MemoryToFree2 = NULL; } ``` I tried several things after the = operator, like NULL, (T*)NULL etc. Can this be done? The only way the compiler let me do it was using an overload... ``` template <typename T, typename T2> inline void Delete (T *&MemoryToFree, T2 *&MemoryToFree2){ delete MemoryToFree; MemoryToFree = NULL; delete MemoryToFree2; MemoryToFree2 = NULL; } ```