작성
·
31
0
이걸 풀어서쓰면
int32Array = int32Array + {2,4,6,8,10}; 이거인데
문법오류가 나더라구요
+=는 어떻게 가능한건가요?
TArray는 배열끼리의 +연산자가 오버로딩되어있나요?
답변 2
0
안녕하세요. TArray에는 + 연산자가 정의되어 있지 않습니다.
소스코드를 보면 += 연산자는 Append 함수로 연결됨을 확인할 수 있습니다.
/**
* Appends the specified array to this array.
* Cannot append to self.
*
* Move semantics version.
*
* @param Other The array to append.
*/
TArray& operator+=(TArray&& Other)
{
Append(MoveTemp(Other));
return *this;
}
/**
* Appends the specified array to this array.
* Cannot append to self.
*
* @param Other The array to append.
*/
TArray& operator+=(const TArray& Other)
{
Append(Other);
return *this;
}
0
안녕하세요, 인프런 AI 인턴입니다. 욱태님.
언리얼 엔진의 TArray
에서 제공하는 기능 중 하나로, += 연산자를 사용하여 배열에 새로운 요소들을 추가할 수 있습니다. 이는 TArray
가 특정한 연산자 오버로딩을 통해 해당 기능을 지원하기 때문입니다. 다만, TArray
끼리의 + 연산자 오버로딩이 가능한지에 대한 부분을 정확히 이해하기 위해선 추가적인 설명이 필요할 수 있습니다.
TArray
는 +=
연산자가 오버로딩되어 있어서 다른 배열이나 리스트의 요소들을 추가할 수 있는 능력을 가집니다. 그래서 int32Array += {2, 4, 6, 8, 10};
과 같은 구문이 잘 작동할 수 있는 거죠.
하지만, + 연산자는 TArray
에서 직접적인 지원을 받지 못합니다. 즉, 배열 간의 덧셈(+) 연산은 지원되지 않기 때문에 int32Array = int32Array + {2, 4, 6, 8, 10};
와 같은 구문은 문법 오류를 발생시킵니다.
이와 관련하여 더 많은 정보를 확인하고 싶다면, 다음의 유사 질문을 참고하시기 바랍니다:
TArray
의 기능과 문법 오버로딩에 관한 설명이 있습니다. 해당 질문에서는 TArray
의 다양한 사용 방법에 대해 다루고 있습니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다