c++ 질문입니다
글쓴이: zooloo / 작성시간: 일, 2016/04/10 - 5:23오후
전역 구조체 변수의 문자열 멤버변수 의 선언, 초기화, 값 대입 이 궁굼합니다
구조체가 다음과 같이 있다고 하면
// vt.h
struct _vt {
std::wstring vt_wstr;
};
// main.cpp
#include "vt.h"
struct _vt vt;
// func1.cpp
#include "vt.h"
extern struct _vt vt;
void func1() {
vt.vt_wstr = L"테스트 문자열";
wcout << vt.vt_wstr << endl; // 정상출력됨
}
// func2.cpp
#include "vt.h"
extern struct _vt vt;
void func2() {
wcout << vt.vt_wstr << endl; // 아무값도 출력안됨
}제가 선언이나 초기화를 잘못한거 같은데
어떻게 해야 정상적으로 출력이 되나요?
Forums:


func1()이 실행되어야 구조체에 L"테스트
func1()이 실행되어야 구조체에 L"테스트 문자열"이 대입되므로,
func1()이 먼저 실행되고 나면 func2()에서도 "테스트 문자열"이 출력되겠지만
func2()가 먼저 실행되는 경우엔 아마 빈 문자열이 출력되겠네요.
네 func1()을 먼저 실행시키니 되는군요
네 func1()을 먼저 실행시키니 되는군요 고맙습니다
댓글 달기