C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■95392 / )  string配列を関数に渡したい
□投稿者/ marusa (9回)-(2020/07/28(Tue) 15:04:23)

分類:[C/C++] 

お世話になっております。
VisualStudio2015 c++で開発をしております。

String配列について、配列を関数に渡し、関数内で要素数を求める処理をする以下のようなコードを作成したのですが、
要素数が0として表示されてしまいます。
main関数内で要素数を求めた場合には正しく求められるため、配列の引き渡しがうまくいっていないのだと思うのですが、
内部ではどのように渡されているのでしょうか?
初歩的な質問でしたら申し訳ございません。
よろしくお願いいたします。

以下コード
#include <string>
#include <iostream>

#define ARRAY_LEN(a) (sizeof(a) / sizeof(a[0]))

int main(){
int len = 0;
std::string arr[2] = { "foo" , "bar" };
len = getLen(arr);
std::cout << len << std::endl; // 0
std::cout << ARRAY_LEN(arr) << std::endl; // 2
}

int getLen(std::string *strArray){
int ret = ARRAY_LEN(strArray);
return ret;
}
返信 編集キー/


管理者用

- Child Tree -