1

とてもシンプルなプログラムです。上部に関数が定義されており、ループ内で関数を呼び出していますprint

しかし、次のエラーが発生します。

prog.cpp:5: error: variable or field ‘print’ declared void
prog.cpp:5: error: ‘a’ was not declared in this scope
prog.cpp: In function ‘int main()’:
prog.cpp:11: error: ‘print’ was not declared in this scope

ここにあります:

#include <iostream>    
using namespace std;

void print( a ) {
    cout << a << endl;
}

int main() {
    for ( int i = 1; i <= 50; i++) {
        if ( i % 2 == 0 ) print( i );
    }

    return 0;
}
4

5 に答える 5

8

aを定義するときにのタイプを宣言するのを忘れましたprint

于 2012-07-03T13:35:55.393 に答える
6

これを試して:

void print( int a ) {
于 2012-07-03T13:36:06.033 に答える
2

C++には動的型がありません。したがって、「a」変数のタイプを手動で指定するか、関数テンプレートを使用する必要があります。

void print( int a ) {
    cout << a << endl;
}

template <typename T>
void print( T a ) {
    cout << a << endl;
}
于 2012-07-03T13:37:20.433 に答える
0
#include <iostream>

using namespace std;

void print( int a ) {
    cout << a << endl;
}

int main() {
    for ( int i = 1; i <= 50; i++) {
        if ( i % 2 == 0 ) print( i );
    }

    return 0;
}
于 2012-07-03T13:56:40.243 に答える
0

への変更:

void print( int a ) { // notice the int
    cout << a << endl;
}
于 2012-07-03T13:36:12.757 に答える