#include <iostream> using namespace std; class f{ public: int val; long long operator!(){ long long ret = 1; for(int i=0;i<val;i++){ret*=(i+1);} return ret; } }; int main(){ f a = {12}; cout << !a << endl; }
どうしても!演算子使って階乗したかっただけ。でも現実は!の位置に限界があったのであった・・・。