#include <iostream>
#include <initializer_list>
class CTester {};
template < typename ... Args >
void Func(int diff, CTester* pcTester, Args ... params)
{
int i = 0;
for(int val : std::initializer_list<int>{ params ... })
{
std::cout << "[" << i << "] = " << val << "\n";
if (diff > val) {
// some logic
}
++i;
}
}
int main()
{
CTester * pcTester = new CTester;
Func(1359, pcTester, 10, 20, 30, 40);
delete pcTester;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW5pdGlhbGl6ZXJfbGlzdD4KCmNsYXNzIENUZXN0ZXIge307Cgp0ZW1wbGF0ZSA8IHR5cGVuYW1lIC4uLiBBcmdzID4Kdm9pZCBGdW5jKGludCBkaWZmLCBDVGVzdGVyKiBwY1Rlc3RlciwgQXJncyAuLi4gcGFyYW1zKQp7CiAgaW50IGkgPSAwOwogIGZvcihpbnQgdmFsIDogc3RkOjppbml0aWFsaXplcl9saXN0PGludD57IHBhcmFtcyAuLi4gfSkKICB7CiAgICBzdGQ6OmNvdXQgPDwgIlsiIDw8IGkgPDwgIl0gPSAiIDw8IHZhbCA8PCAiXG4iOwogICAgaWYgKGRpZmYgPiB2YWwpIHsKICAgICAgLy8gc29tZSBsb2dpYwogICAgfQogICAgKytpOwogIH0KfQoKaW50IG1haW4oKQp7CiAgQ1Rlc3RlciAqIHBjVGVzdGVyID0gbmV3IENUZXN0ZXI7CiAgRnVuYygxMzU5LCBwY1Rlc3RlciwgMTAsIDIwLCAzMCwgNDApOwogIGRlbGV0ZSBwY1Rlc3RlcjsKfQo=