Zastanawiam się, czy istnieje sposób, w jaki mógłbym przekazać nazwę pola do szablonu funkcji. Rozważmy następujący:Przekazywanie nazwy pola do szablonu funkcji
struct Type1{
unsigned int Field1;
unsigned int Field2;
};
struct Type2{
unsigned int Field2;
unsigned int Field3;
};
template <typename TYPE>
bool MyFunction(TYPE _Type){
if(_Type.Field1==5)
return false;
}
Działa to dobrze, jednak w ciągu MyFunction
jestem określające .Field1
, czy istnieje sposób mogę przekazać nazwę tego pola do szablonu, na przykład:
void TestFunction(){
Type1 mt1;
MyFunction(mt1, Field1);
}
Jasno Nie jestem tutaj szablonem i nie mam pojęcia, jak to się nazwie (poza oczywistą odpowiedzią - głupio!), Więc walczę nawet o znalezienie rozwiązania.
Możesz zajrzeć do koncepcji wskaźnika do członka. –
Niezwiązane z zadawanym pytaniem, ale '_Type' jest zarezerwowane dla implementacji, więc nie możesz go używać (to znaczy powoduje niezdefiniowane zachowanie). –
@ n.m. Dziękuję, właśnie miałem odpowiedzieć Zacznę wyszukiwanie, dopóki odpowiedzi nie nadejdą! :) – R4D4