함수 템플릿에 필드 이름을 전달할 수있는 방법이 있는지 궁금합니다. 다음 사항을 고려 :필드 이름을 함수 템플릿에 전달
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;
}
이 내가 .Field1
를 지정하고 MyFunction
내 그러나, 잘 작동, 나는 템플릿에이 필드의 이름을 전달할 수있는 방법은 예를 들어,이 : 분명히
void TestFunction(){
Type1 mt1;
MyFunction(mt1, Field1);
}
, 나는 여기에 타입을 템플릿으로 만들지 않을 것이고, 나는 이것을 (명백한 답을 제외하고 - 어리석은!) 무엇을해야 할지를 놓치고있다. 그래서 나는 심지어 해결책을 찾기 위해 고심하고있다.
포인터 대 멤버 개념을 살펴볼 수 있습니다. –
당신이 묻는 질문과는 관계가 없지만,'_Type'은 구현을 위해 예약되어 있으므로, 당신은 그것을 사용할 수 없습니다 (즉, 그렇게하지 않으면 정의되지 않은 동작을합니다). –
@ n.m. 고맙습니다. 나는 막 대답하려고 할 때까지 검색을 시작할 것입니다! :) – R4D4