[C++] STL map 전역변수
글쓴이: wafe / 작성시간: 수, 2004/08/04 - 4:45오후
전역 변수로 map을 선언하고 초기화하는 코드가 컴파일이 안되더군요.
#include <string> #include <map> using namespace std; map<int, string> intStrMap; intStrMap[1] = "hello"; intStrMap[2] = "world"; int main() { return 1; }
Quote:
test.cpp:7: warning: ISO C++ forbids declaration of `intStrMap' with no type
test.cpp:7: error: conflicting types for `int intStrMap[1]'
test.cpp:6: error: previous declaration as `std::map<int, std::string,
std::less<int>, std::allocator<std::pair<const int, std::string> > >
intStrMap'
test.cpp:8: warning: ISO C++ forbids declaration of `intStrMap' with no type
test.cpp:8: error: conflicting types for `int intStrMap[2]'
test.cpp:7: error: previous declaration as `int intStrMap[1]'
맵에 내용을 넣는 부분을 함수 안으로 옮기면 잘 되네요.
#include <string> #include <map> using namespace std; map<int, string> intStrMap; int main() { intStrMap[1] = "hello"; intStrMap[2] = "world"; return 1; }
왜 이런 것인가요?
Forums:
댓글 달기