NL
Size: a a a
NL
NL
constexpr bool foo(int n) { return (n % 2 == 0); }
template<bool b>
struct bar { static int value; };
template <>
struct bar<true> {
template<int n> class value { };
};
template <int n>
struct baz : bar<foo(n)> { };
baz<42>::value<3> v;
foo
, последняя строчка может оказаться как объявлением переменной bar<true>::value<42> v
, так и выражением (bar<false>::value < 3) > v
NL
G
constexpr bool foo(int n) { return (n % 2 == 0); }
template<bool b>
struct bar { static int value; };
template <>
struct bar<true> {
template<int n> class value { };
};
template <int n>
struct baz : bar<foo(n)> { };
baz<42>::value<3> v;
foo
, последняя строчка может оказаться как объявлением переменной bar<true>::value<42> v
, так и выражением (bar<false>::value < 3) > v
G
NL
G
G
NL
NL
G
MATCH(
result,
ARMS(
ARM(Ok, FILE *, ok,
puts("A file was opened!");
),
ARM(Error, OpenFileError, error,
puts("Cannot open a file!");
)
)
)
DF
DF
DF
DF
а
NL
DF
DF
DF