Study/C,C++

[오류] 클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다

MeditT 2019. 6. 26. 01:21

클래스 템플릿 "std::array"에 대한 인수가 너무 적습니다   오류

 

1. 오류 설명과 원인

CLR 프로젝트에서 다른 프로젝트의 클래스를 include하여 쓸 때 종종 나는 오류다.

String^>^에 빨간 줄이 쳐지며 인수가 너무 적다고 한다.

원인은 #include한 .h파일에서 using namespace를 쓰고 있기 때문이다. 아래 사진에선 controller가 쓰고있었다.

 

Controller.h를 인클루드 했더니 오류뿜뿜

 

 

 

원인 : using namespace std

 

2. 해결 방법

해결 방법은 두 가지다.

  1. 문제있는 .h파일에서 using namespace std를 빼기
  2. void main(array<String^>^ args)에서 안의 파라미터를 다 삭제해버리기 → void main()으로 이용

어떤 방법을 써도 잘 돌아간다.

namespace std를 많이 해 놨다면 그냥 2번 방법을 쓰자. 잘 돌아가니까.

 

2번 방법. 잘 돌아간다.

 

참고:

오류 발생 원인을 하나하나 소거법으로 분석한 나 자신

'Study > C,C++' 카테고리의 다른 글

for-else를 C++에서도! std::non_of  (0) 2019.09.26
[오류] C3867 비표준 구문입니다. '&'를 사용하여 멤버 포인터를 만드세요.  (2) 2019.06.26
7. 구조체  (0) 2018.07.22
6. 포인터  (0) 2018.07.22
3.1 연산자  (0) 2018.07.19