数组作为参数

Sun*_*een 6 c++ arrays argument-passing

我创建了一个数组:

CString* pstrArray = new CString[nMySize];
Run Code Online (Sandbox Code Playgroud)

现在我该如何将它传递给要填充的函数?实际参数是多少?

void FillThisArray(what goes here?)
{
}
Run Code Online (Sandbox Code Playgroud)

ur.*_*ur. 4

您应该使用容器类:CStringArray

void FillThisArray( CStringArray & rMyStrings )
Run Code Online (Sandbox Code Playgroud)

如果你不想要这个(我没有看到任何可能的原因,但无论如何):

void FillThisArray(CString* strings, size_t num)
{
  // example
  for( size_t s=0; s<num; s++ )
  {
    strings[s].Format( _T("This is the %d. string"), s+1 );
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 或者更好地仍然使用 `std::vector&lt;CString&gt;` (3认同)