I (예를 들어)과 같은 배열을 사용하여 내 C++/CLI 코드를 가지고 : 나는에 라이브러리 "배열"을 추가 할 때까지호환성 : 같은 시간에 배열을
array<String^>^ GetColNames() {
vector<string> vec = impl->getColNames();
array<String^>^ arr = gcnew array<String^>(vec.size());
for (int i = 0; i < vec.size(); i++) {
arr[i] = strConvert(vec[i]);
}
return arr;
}
그것은 잘 컴파일하는 것을 프로젝트 : 컴파일러가 선언 된 모든 배열은 std::array
을 것으로 생각하기 때문에
#include <array>
가 그럼 난, 관리 CLI 배열을 사용하는 방법을 모르겠어요.
오류 예 :
array<String^>^ arr
// ^Error here: "too few arguments for class template "std::array""
gcnew array<String^>(vec.size())
// ^Error: "Expected a type specifier"
방법이 문제를 해결하기 위해? 그 파일에서 using namespace std
을 제거하려고 시도했지만 아무런 차이가 없습니다. 프로젝트의 다른 모든 C++ 파일에서 해당 파일을 제거해야합니까?
C++ - cli 가장 확실하게 C++ 아닙니다. – Deduplicator
'using namespace std;'를 제거 하시겠습니까? 자세한 내용은 다음을 참조하십시오 : http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice – Carsten
'네임 스페이스 표준 사용하기'가 있습니다.) – jrok