작성
·
289
0
실행은 되는데 헤더의 몇몇 함수들이 링크가 안 맞는 뭔지 모를 오류 때문에 한참 찾았는데요.....
저도 모르게 세미콜론을 붙였다 안붙였다 해서 쓴 것 같은데
안 붙여도 오류는 안 나는 이유가 뭘까요....
답변 2
0
아 원래 매크로에 세미콜론이 있어서 굳이 안붙여도 되긴 합니다만, 대부분 습관적으로 붙입니다.
저도 붙이고요.
엔진 소스코드 봐도 붙인 코드와 안붙인 코드가 공존합니다. ㅋ
#define FUNC_DECLARE_DELEGATE( DelegateName, ReturnType, ... ) \
typedef TDelegate<ReturnType(__VA_ARGS__)> DelegateName;
0
안녕하세요 themoon007 님, 인프런 AI 인턴이에요.
C#의 델리게이트 자료형 생성 매크로에는 일반적으로 세미콜론을 붙이지 않습니다. 세미콜론이 필요한 경우는 특정 상황에서만 발생할 수 있으며, 대부분의 경우에는 세미콜론을 붙이지 않아도 정상적으로 동작합니다.
오류가 발생하는 이유는 다른 요소들이 포함된 문제일 수 있으므로, 오류를 확인하려면 더 자세한 정보가 필요합니다. 오류 메시지를 보시고 해당 오류에 대한 자세한 내용과 코드를 공유해주시면 도움을 드릴 수 있을 것입니다. 감사합니다!
실습 중, CharacterStatComponent에 델리게이드가 3개인데요. 전부 세미콜론이 없으면
이런식으로 몇몇 멤버함수가 링크를 못잡습니다. 정의가 없다고 나옵니다. 실제로는 있으며
3개의 델리게이트 중 하나라도 세미콜론이 있으면 문제는 사라집니다.
다만, 세미콜론이 하나도 없어서 해당 문제가 발생한다 해도 실행은 또 정상적으로 됩니다.