• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Vecotr3.forward 버전에 new 붙이면 [_speed]까지 오류나는 이유

22.09.19 22:03 작성 조회수 251

0

안녕하세요

비전공자 학생으로서 정말 감사한 마음으로 강의 듣고 있습니다!

1) Vector3.forward 앞에 new 를 붙이면 해당 라인에서 밑줄이 그어지는 이유가 무엇일까요?

2) 1번에 경우 [new]를 잘 못 붙인것이라 어렴풋이 에러내용이 짐작가는데요, 어째서 [_speed]에까지 에러 메시지를 띄우는 것일까요?

제가 스스로 코드를 쳐보던 와중에 뒤에 알려주신 [코드개선] 부분에 new 연산자를 지우지 않고 그대로 쓴 실수를 했습니다. (처음에는 4줄 다 new를 붙여서 작성했어요)

여기저기 구글링하고 공식 api까지 찾아다니가다 엉뚱한 곳에서 오류가 난걸 발견했는데요, 문득 메시지로 여러가지를 띄워주어 궁금해져 질문드립니다

답변 1

답변을 작성해보세요.

1

class Vector3
{
public static Vector3 right = new Vector3(...);
}

내부 코드를 본 것은 아니지만, 대충 위와 같은 느낌입니다.
Vector3는 class이기 때문에 new Vector3를 사용하면 되지만,
Vector3.right의 의미는 [Vector3 클래스 안에 있는 Vector3 클래스 타입의 static 변수]입니다.
따라서 new를 사용하면 안 되고, 바로 사용해야 합니다. (이미 간접적으로 new로 할당된 상태)