我在类B和类D中有一个成员函数,该成员函数调用函数“computeValue”,这不是任何类的成员函数。 “computeValue”函数执行某种类型的算法并返回一个值。但是,似乎我遇到了很多编译错误,并且不确定根本原因是什么。类的成员函数甚至可以调用非成员函数吗?
#include<iostream>
using namespace std;
int computeValue(vector<A*>ex) //Error - Use of undeclared identifier 'A'
{
//implementation of algorithm
}
class A
{
};
class B
{
int sam2()
{
return computeValue(exampleB); // Error - No matching function for call to 'computeValue
}
vector <A*> exampleB;
};
class D
{
int sam1 ()
{
return computeValue(exampleD);// Error - No matching function for call to 'computeValue
}
vector<A*> exampleD;
};
int main()
{
}
最佳答案
computeValue
需要类A
的声明,因此在它之前声明A
:
class A
{
};
int computeValue(vector<A*>ex)
{
//implementation of algorithm
}
当然,是的。