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

改成:

void print( int a ) { // notice the int
    cout << a << endl;
}
于 2012-07-03T13:36:12.757 回答
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 回答