簡體   English   中英

C ++中的數組和函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM