|
멀더입니다...
문의하신내용은 C/C++ 분야의 고전적인 문제이군요.
고전적이듯이 무수히 많은 해결방법이 있으나......
STL 의 Vector 나
VCL의 TList를 사용하시면 Array Return과 Size문제가 모두 해결됩니다.
그외 상당히 유용한 많은 기능을 가진 클래스라서 코딩량도 줄이고 삽질도 많이 줄여줍니다.
STL의 Vector가 좀더 가볍고 성능이 좋으니 이를 추전합니다. (TList도 좋아요)
vector<objType> objArray;
size : objArray.size()
or
TList *objArray = new TList;
size : objArray->Count
즐거운하루 되세요. ;)
라모드 님이 쓰신 글 :
: 어떤 함수에서 AnsiString으로 된 배열모두 Return 하려고 아래와 같이 Source code를 작성하였는데 배열의 첫번째 내용만 리턴되고 나머지는 모두 Black 입니다.
: 어떻게 하면 배열의 모든 값들을 return 할 수 있을까요?
: 그리고 한가지더 배열의 크기를 100으로 잡았는데 실제로 어디까지 데이터가 차있는지 알 수 있는 쉬운 방법이 있을까요?
:
:
: // main source code
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: AnsiString temp[100];
: *temp = ScriptList.GetCheckedTestCase();
: Edit1->Text=temp[2];
:
: }
:
: // 함수
: AnsiString __fastcall TScriptList::GetCheckedTestCase()
: {
: int j=0;
: for (int i=0;i<Form1->CheckListBox1->Items->Count;i++)
: {
: if (Form1->CheckListBox1->Checked[i]==true)
: {
:
: CheckedTestCase[j]=Form1->CheckListBox1->Items->Strings[i];
: Form1->RichEdit1->Lines->Add(CheckedTestCase[j]);
: j++;
: }
: }
: return *CheckedTestCase;
: }
|