2017-11-03 61 views
-1

私はコンパイルして実行しようとするとこのエラーが発生します。プログラミングには全く新しいです。どうすればいいですか?私はビデオを、これを降りて、私は彼がしたまさにやったが、そのはHERESにビデオ https://www.youtube.com/watch?v=-CpG3oATGIs&t=6243s配列初期化子はイニシャライザリストまたはワイド文字列リテラルでなければなりません

#include <stdio.h> 
#include <stdlib.h> 

int getSum(int *array_val,int size) 
{ 
    int sum=0; 

    for(int i=0;i<size;i++) 
    { 
     sum += array_val[i]; 
    } 
    return sum; 

} 

int main() 
{ 
    int my_array[5]=(10,20,30,40,50); 
    int mySum = getSum(my_array,5); 

    printf("the value of my sum is= %d",mySum); 
} 

エラーメッセージに動作していないように見えます:

error: array initializer must be an initializer list or wide string literal
int my_array[5]=(10,20,30,40,50); ^

+4

間違ったブラケットとして、あなたの行を変更した場合

コードがコンパイルされます。 – stark

+4

int my_array [5] =(10,20,30,40,50); - > int my_array [5] = {10,20,30,40,50}; –

+0

_この問題は、もはや再現できない問題や単純な誤植によって引き起こされました。同様の質問がここでは話題になるかもしれないが、これは将来の読者を助けるとは思わない方法で解決された。これは、投稿する前に[問題を再現するのに必要な最短のプログラム](https://stackoverflow.com/help/mcve)を確認して綿密に調べることで回避できます。 –

答えて

3

: はこれを行います。あなたは

int my_array[5] = {10,20,30,40,50}; 
//OR 
int my_array[] = {10,20,30,40,50}; 
0

するTry int型my_arrayで[5] = {10,20,30,40,50};

3

問題は、この文である:

int my_array[5]=(10,20,30,40,50); 

ブラケットが間違っています。あなたが{}なく()を必要とする初期化のために

int my_array[5]={10,20,30,40,50}; 
関連する問題