2012-05-16 10 views
-1

멤버 변수 만 저장 첫 글자를 CString을 가진 클래스를 포함하는 세트와 나는이 클래스가 나는 CString 값을 돌려받습니다. 단지 첫 번째 문자 만받습니다. 나는 벡터로 시도했지만 모두 동일합니다.
나는 설정과 같이 입력 :내가 MFC 함께 일하고

vector<CUnit> units; 
CUnit unit; 
CEdit *edit; 
CString str; 
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_NAME1)); 
edit->GetWindowText(str); 
unit.setName(str); 
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_INIT1)); 
edit->GetWindowText(str); 
unit.setInit(str); 
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_CHP1); 
edit->GetWindowText(str); 
unit.setCHP(str); 
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_RHP1)); 
edit->GetWindowText(str); 
unit.setRHP(str); 
edit = reinterpret_cast<CEdit *>(GetDlgItem(IDC_COND1+i)); 
edit->GetWindowText(str); 
unit.setCond(str); 
units.push_back(unit); 

그리고 모든 확인 있는지 확인하려면이 옵션을 사용

vector<CUnit>::iterator pos = units.begin(); 
str = *pos->getName(); 
SetDlgItemText(IDC_NAME2, str); 
+3

왜 'set'에 삽입 한 코드를 게시하지 않으시겠습니까? –

+0

음, 그럼'set '은 어디에 있나? –

+0

실제 질문과 관련이 없지만 모든 설정 함수에서 CString 값이 아닌 CString에 const 참조를 전달해야합니다. 따라서 불필요한 복사를 피할 수 있습니다. – MikMik

답변

0
다음과 같이 사용할 수 있습니다

:

str = *(pos->getName()); 

또는

str = (*pos).getName(); 

당신을 도와주세요!

+0

와우! 두 번째 작품! 정말 고맙습니다. :) –

관련 문제