这是一个非常简单的程序。我在顶部和循环中定义了一个函数,我调用函数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;
}
答案 0 :(得分:8)
在定义a
时,您忘记声明print
的类型。
答案 1 :(得分:6)
试试这个:
void print( int a ) {
答案 2 :(得分:2)
C ++没有动态类型。因此,您需要手动指定“a”变量的类型或使用函数模板。
void print( int a ) {
cout << a << endl;
}
template <typename T>
void print( T a ) {
cout << a << endl;
}
答案 3 :(得分:0)
更改为:
void print( int a ) { // notice the int
cout << a << endl;
}
答案 4 :(得分: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;
}