#include <map>
using namespace LCDControl;
std 네임 스페이스에 대한 참조는 결국 LCDControl 이름 공간과 연결됩니다.
예를 들면 다음과 같습니다.
Generic.h:249: error: 'map' is not a member of 'LCDControl::std'
어떻게 해결할 수 있습니까? 내가 보았던 문서에서이 것에 대해 특별한 것을 보지 못했습니다. 그들 중 대부분은 사용하지 말라고 : using namespace std ;.
다음은 249 행입니다.
for(std::map<std::string,Widget *>::iterator w = widgets_.begin();
어떤 컴파일러 : 내가 VS2008에서이 시도 할 때
는, 오류가 발생했습니다? 또한 LCDControl 네임 스페이스에'map'이라는 이름의 것이 있습니까? 어쨌든'네임 스페이스 사용하기 '를 사용하는 이유는 무엇입니까? :) – GManNickG
GMan, 'LCDControl 네임 스페이스에지도가 없습니다. 외부 헤더 파일과 관련된 이름을 계속 실행했기 때문에 네임 스페이스를 사용했습니다. 예를 들어,이 경우 나는 CHAR이라는 이름을 가지고 있으며, 그것은 어딘가에있는 어떤 것과 충돌합니다. 이름을 바꾸는 대신 네임 스페이스 안에 모든 것을 래핑하여 처리했습니다. 물론 전에 C++ 네임 스페이스를 사용한 적이 없으므로 여기에 있습니다. :) – Scott
어디서나 클래스 또는 네임 스페이스 식별자로'std'를 사용합니까? –