#include <iostream>
template <typename>
struct B
{
constexpr static int T = 5;
};
template <int T>
struct D : B<int>
{
constexpr static int value = T;
};
int main()
{
std::cout << D<7>::value << std::endl; // 5, how to get 7 ?
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPHR5cGVuYW1lPgpzdHJ1Y3QgQgp7CiAgICBjb25zdGV4cHIgc3RhdGljIGludCBUID0gNTsKfTsKCnRlbXBsYXRlIDxpbnQgVD4Kc3RydWN0IEQgOiBCPGludD4KewogICAgY29uc3RleHByIHN0YXRpYyBpbnQgdmFsdWUgPSBUOwp9OwoKaW50IG1haW4oKQp7CiAgICBzdGQ6OmNvdXQgPDwgRDw3Pjo6dmFsdWUgPDwgc3RkOjplbmRsOyAvLyA1LCBob3cgdG8gZ2V0IDcgPwp9Cg==