#include <iostream>
template <class coefs>
double linear(double x) {
return coefs::a * x + coefs::b;
}
struct my_coefs
{
static const double a;
static const double b;
};
const double my_coefs::a = 2.0;
const double my_coefs::b = 3.0;
int main()
{
std::cout << linear<my_coefs>(5.0) << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPGNsYXNzIGNvZWZzPgpkb3VibGUgbGluZWFyKGRvdWJsZSB4KSB7CiAgICByZXR1cm4gY29lZnM6OmEgKiB4ICArICBjb2Vmczo6YjsKfQoKc3RydWN0IG15X2NvZWZzCnsKICAgIHN0YXRpYyBjb25zdCBkb3VibGUgYTsKICAgIHN0YXRpYyBjb25zdCBkb3VibGUgYjsKfTsKCmNvbnN0IGRvdWJsZSBteV9jb2Vmczo6YSA9IDIuMDsKY29uc3QgZG91YmxlIG15X2NvZWZzOjpiID0gMy4wOwoKaW50IG1haW4oKQp7CiAgICBzdGQ6OmNvdXQgPDwgbGluZWFyPG15X2NvZWZzPig1LjApIDw8IHN0ZDo6ZW5kbDsKfQ==