我是c ++的新手。 我正在写这个函数,但不知怎的,它给了我这个错误
Error: a function-definition is not allowed here before '{' token
我的代码是
int main() {
//number is given num
// power is raise to power
int raiseTo(int number, int power)
{
for (int i=0;i<=power;i++)
{
number=number*number;
}
return number;
}
}
请告诉我我做错了什么。感谢。
答案 0 :(得分:4)
C ++标准说:
§8.4.1/ 2 [..] 一个函数只能在命名空间或 班级范围。
所以你所做的事情根本不允许。
答案 1 :(得分:4)
两个主要问题:
请尝试使用此代码:
int raiseTo(int number,int power)
{
int result = 1;
for (int i=0; i<power; i++)
{
result = result*number;
}
return result;
}
int main()
{
int x = 2;
int y = 3;
int z = raiseTo(x,y);
printf("%d^%d = %d\n",x,y,z);
return 0;
}