【发布时间】:2013-11-01 20:12:12
【问题描述】:
我是编程的初学者,并且刚刚开始编写足够复杂的程序,原型会很有帮助。问题是当我编写程序、编译并运行它时,原型化的函数是空白的,所以我的 cout 或 cin 都没有 出现后面定义的函数中的提示。
在这段代码中,只有一部分 switch 语句完成了 CubeVol 函数的原型化,然后再进行定义。
此代码会编译并在运行时显示菜单。当我输入“2”时,程序结束时不会计算“立方体边的长度”或要求输入。
如果重要的话,我使用 Cygwin 和 gnu g++ 编译器和 notepad++ 来编写代码,并将其保存为 .C 文件。我也尝试将其格式化为 .cpp
请记住,大部分空白的 switch 语句是在我实际完成程序时使用的。
如何正确地对 CubeVol 函数进行原型设计?
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
double CubeVol();
int main()
{ int choice=0;
cout<< " 1. Sphere \n 2. Cube \n 3. Cone \n 4. Cylinder \n 5. Prism \n 6. Exit \n";
cin>> choice;
switch (choice){
case 1:
;
break;
case 2:
CubeVol;
break;
case 3:
;
break;
case 4:
;
break;
case 5:
;
break ;
case 6:
;
;
break;
};
}
double CubeVol ()
{
double side=0.0; double cubev=0.0;
cout<< "length of cubes side";
cin>> side;
cubev= pow(side,3);
return cubev;
}
【问题讨论】:
-
是什么让你认为它与原型有关,你的意思是“原型没有被重新定义”?无论如何,请参阅 @Kunal 的回答并修复您的
case 2:块。 -
我对编程很陌生,所以在我没有经验的眼里,prototpye 似乎没有被定义为 CubeVol 函数
-
“未定义”肯定与您在标题中的“未重新定义”明显不同;)大多数时候,在 C++ 中,如果您没有包含原型,您的编译器将终止一个错误。我能想到的一种情况可能不会发生这种情况是,如果您有重载函数,其中一个可以提升到另一个,并且您提供了一个原型但打算调用另一个原型。 (对不起,如果这听起来很复杂——它肯定是深奥的。)
标签: c++