Defers the parsing of default arguments in member functions.
#pragma defer_defarg_parsing on | off
To be accepted as valid, some default expressions with template arguments will require additional parenthesis. For example, Deferring parsing of default arguments results in an error message.
template<typename T,typename U> struct X { T t; U u; };
struct Y {
// The following line is not accepted, and generates
// an error message with defer_defarg_parsing on.
void f(X<int,int> = X<int,int>());
};
Correct default argument deferral does not generate an error message.
template<typename T,typename U> struct X { T t; U u; };
struct Y {
// The following line is OK if the default
// argument is parenthesized.
void f(X<int,int> = (X<int,int>()) );
};
This pragma does not correspond to any panel setting. By default, this pragma is on .