Этот класс в C ++ задан:
class Counter {
private: int n;
public:
Counter():n(0) {}
int val() { return n; }
void inc() { ++n; }
};
Используйте замыкания в ML для создания функции с именем makeCounter
, которая будет возвращать нечто, действующее как объект класса Counter
.
Я хочу сделать что-то вроде этого:
fun makeCounter n=(n,fn()=>(makeCounter (n+1)));
Но очевидно, что это не работает из-за округлости. У кого-нибудь есть идея?