[英]Arrays and functions in C++
我正在處理各種字符。 我的函數應該返回一個數組。 然后我希望將該數組分配給不同的char array
。
我有
char somechar[50];
在類聲明中,它是私有的。
我將get方法定義為:
char getsomechar(){
return somechar;
}
在我的主要功能中,我試圖:訪問它分配為:
char newchar[]=getsomechar();
我被賦予了返回類型和函數類型不匹配。 所以我糾正了第二行:
char *getsomechar(){
return somechar;
}
但是我仍然在initialization with {...} expected for aggregate object
錯誤。 我讀了一些頁面,發現你不能在C ++中按值傳遞數組。 我不能使用數組庫。 如何使用指針/引用進行操作?
你基本上是在你的函數中引導一個指向數組的指針:
return somechar; //this is the starting address of the array
因此,您應該聲明一個char*
並將數組的起始地址分配給它,如下所示:
char* newchar=getsomechar();
現在你可以通過索引來訪問這個指針,就像一個數組:
for(int i=0;i<ARRAY_SIZE;i++)
{
newchar[i] = value // whatever operation you want to do here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.