2017-01-05 15 views
0

私は多くの同様の質問や同じトピックを見ましたが、私の状況については答えがありません(または私は愚かです、私を責めないでください)。私は初心者で自己学習者なので、この質問に自分自身で答えるほど熟練していなければ、すみません。変数またはフィールド '関数'が宣言されたvoid

#include <iostream> 
using namespace std; 

void Skaiciavimai(double kiek_bulviu, int talkininkai, int & dienos, 
    int & visi_talkininkai, double & viso_bulviu, 
    double & vieno_vidurkis); 

int main() 
{ 
    double atsk = 100, bulves[100], talk[1000], kiek_bulviu = 0, talkininkai = 0; 
    int dienos = 0, visi_talkininkai = 0; 
    double viso_bulviu = 0, vieno_vidurkis = 0; 

    for (int i = 0; i < 1000; i++) { 
     cin >> bulves[i]; 
     kiek_bulviu = kiek_bulviu + bulves[i]; 
     if (bulves[i] == 0) { 
      i = 1000; 
     } 
     else { 
      cin >> talk[i]; 
      talkininkai = talkininkai + talk[i]; 
      dienos++; 
     } 
    } 
    void Skaiciavimai(kiek_bulviu, talkininkai, dienos, visi_talkininkai, viso_bulviu, vieno_vidurkis); 
    cout << dienos << endl; 
    cout << viso_bulviu; 
    cout << vieno_vidurkis; 
    return 0; 
} 
void Skaiciavimai(double kiek_bulviu, int talkininkai, int & dienos, 
    int & visi_talkininkai, double & viso_bulviu, 
    double & vieno_vidurkis) { 
    visi_talkininkai = talkininkai; 
    viso_bulviu = kiek_bulviu; 
    vieno_vidurkis = viso_bulviu/visi_talkininkai; 
} 
+3

答えがあなたの問題を解決することを願っていますが、将来的に何がうまくいかないのかを指定する必要があります。コンパイルエラーの場合は、ここでエラーをコピーしてください。それが悪い結果である場合は、状態入力、予想出力、および間違った出力。現時点では、英語以外の名前のコードと、問題があるという事実があります。 – stefaanv

+1

将来だけでなく、今、この投稿を保存するために。 –

答えて

3
void Skaiciavimai(kiek_bulviu, talkininkai, dienos, visi_talkininkai, viso_bulviu, vieno_vidurkis); 

大手voidを削除します。呼び出す関数の戻り値の型を指定する必要はありません。戻り値の型を追加すると、関数の宣言になります。これは次のようになります。

Skaiciavimai(kiek_bulviu, talkininkai, dienos, visi_talkininkai, viso_bulviu, vieno_vidurkis); 

編集:わかりやすくするために、私は最初の例に注釈を付けました。

int main() 
{ 
    double atsk = 100, bulves[100], talk[1000], kiek_bulviu = 0, talkininkai = 0; 
    int dienos = 0, visi_talkininkai = 0; 
    double viso_bulviu = 0, vieno_vidurkis = 0; 

    for (int i = 0; i < 1000; i++) { 
     cin >> bulves[i]; 
     kiek_bulviu = kiek_bulviu + bulves[i]; 
     if (bulves[i] == 0) { 
      i = 1000; 
     } 
     else { 
      cin >> talk[i]; 
      talkininkai = talkininkai + talk[i]; 
      dienos++; 
     } 
    } 

    /*void*/ Skaiciavimai(kiek_bulviu, talkininkai, dienos, visi_talkininkai, viso_bulviu, vieno_vidurkis); 
// ^^^^ Remove this void 

    cout << dienos << endl; 
    cout << viso_bulviu; 
    cout << vieno_vidurkis; 
    return 0; 
} 
+0

私はそれが素晴らしい解決策になるかもしれないと信じていますが、ボイドタイプが与えられて編集できないような仕事をしています。残念ながら、この行はそのまま残す必要があります:( – Adversas

+1

@Adversas明確にするために私の質問を編集します。行はそれがどのように残っていることはできません、それは単に法的なC++ではありません。 –