一時オブジェクトにしなければいい。そのほうが読みやすい。
int main(void)
{
std::ifstream a("Test.cpp");
cat(a);
return 0;
}