Belirli bir struct
'un farklı üyeleri üzerinde çalışabilen tek bir şablon işlevini kodlamanın bir yolu var mı? Ben bir anahtar dayanan bir cevap hayalYapı üyeleri için şablon işlevi
struct Foo
{
int a, b;
}
template <MEMBER x> //which does not exist
cout_member(Foo foo)
{
cout << foo.x << endl;
}
int main()
{
Foo foo;
cout_member<a>(foo);
cout_member<b>(foo);
return 0;
}
, ancak bu anahtar ı önlemek için ne istiyorsunuz (çalıştırma zamanında üzerinde test edilecek olsaydı o zaman merak:
gibi bir yanlış örnek olmazdı) veya derleme zamanında mı?
Neden buna ihtiyacınız var? – user0042
Bir 2D ızgara için birleştirilmiş kısmi türev denklemler sistemini çözüyorum ve her hücrenin tüm fiziksel miktarları için tek bir uzay türevi fonksiyona sahip olmak isterim ... Ya da en azından fonksiyon sayısını azaltmak için kopyala yapıştır ! –
Muhtemelen XY problemi gereksiz ve hantaldır. –