#include#include using namespace std;template void Wrapper(T... t) {};template const T& getbool(bool& rel, const T& data) { auto* typeInfo = &typeid(data); cout< name() << ":" << data << endl; if(typeInfo == &typeid(bool)) { rel = rel && false; } rel = rel && true; return data;}template bool getBool(const T& data, Args ... args) { bool succ = true; getbool(succ, data); Wrapper(getbool(succ, args)...); return succ;}int main(){ cout << getBool(1, "2", 100.0f) << endl; return 0;}#include #include using namespace std;template void Wrapper(T... t) {};template bool getBool(const T& data) { auto* typeInfo = &typeid(data); cout< name() << ":" << data << endl; if(typeInfo == &typeid(bool)) { return false; } return true;}template bool getBool(const T& data, Args ... args) { return getBool(data) && getBool(args...);}int main(){ cout << getBool(1, "2", 100.0f, false) << endl; return 0;}