C Anonim Sınıfı ++ ile Arayüzü Uygulamakböyle Anonim sınıfı ile bir <code>interface</code> uygulayabilir java olarak
System.out.println(testIf("", String::isEmpty));
biz c bunu nasıl ++?
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
template <class T>
class Predicate
{
public:
virtual bool test(T) = 0;
};
template <class T>
bool testIf(T t, Predicate<T> predicate)
{
return predicate.test(t);
}
int main()
{
class : public Predicate <string> {
public:
virtual bool test(string s)
{
return s.length() == 0;
}
} p;
string s = "";
cout << testIf(s, p);
cin.get();
return 0;
}
Hata: işlev şablonu "TESTIF" Hiçbir örnek argüman listesi argüman türleri eşleşir: (std::string
, class <unnamed>
)
Burada sorun nedir? Bunu yapmanın başka yolları var mı?
Teşekkürler!
sen http://stackoverflow.com/questions/991062/passing-unnamed-classes-through-functions bakabilirsiniz – Prashant