如何从主运行函数/类
How to run functions/classes from main?
我知道这是一个菜鸟问题,但我该怎么做?...
#include "stdafx.h"
#include<iostream>
int main()
{
TypeText();
}
int TypeText()
{
printf("Text");
}
当你的编译器看到对TypeText
的调用时,它还不知道TypeText
存在以及它的签名是什么。您需要声明上面的函数main
:
void TypeText();
int main()
{
TypeText();
}
void TypeText()
{
printf("Text");
}
或者,您可以将定义移动到main
以上:
void TypeText()
{
printf("Text");
}
int main()
{
TypeText();
}
请注意,TypeText
不返回任何内容,因此应具有返回类型 void
。你可能会对main
说同样的话,但如果你不明确给出 return 语句,main
实际上会return 0;
。
您可以重新排序函数并定义最后一个函数main
(在定义TypeText()
函数之后...)。
或者,您可以通过插入来声明TypeText()
函数
int TypeText(void);
在main
之前(或在您自己的头文件中)。
顺便说一句,正文中缺少return
语句TypeText
(或者您应该将其声明为返回void
)
编译文件时,不要忘记启用所有警告和调试信息。使用 GCC 意味着使用 g++ -Wall -g
进行编译。并在适当时使用调试器 ( gdb
...)。
在程序顶部包含以下代码:
void TypeText();
编译器向下读取,不知道你在说什么。如果将代码包含在编译器上方,则当它看到调用的函数时,将搜索它应该做什么。
这看起来需要预先声明来帮助C++编译器。你可以谷歌这个话题,看起来有人在这里做了一个例子。这种特殊类型的声明称为函数原型。
#include "stdafx.h"
#include<iostream>
int TypeText(); //this method is now predeclared to be recognized in main()
int main()
{
TypeText();
}
int TypeText()
{
printf("Text");
}
相关文章:
- 如何在函数运行时逐个显示列表项
- C++:链接库两次,全局构造函数运行两次吗?
- C 从类的构造函数运行Boost线程
- 回文过滤器,函数运行良好,但main()无法编译
- 如何在 c++ 中将机器代码作为函数运行
- 将 PHP 中的 $_POST 变量传递给由 exec() 函数运行的C++程序
- 如何在 C++ 中使用一个 System() 函数运行 2 个命令
- 为什么用空函数运行std::线程会花费大量内存
- 在函数运行时停止 Wt C++函数
- C 构造函数运行时/编译时间
- 是否可以在析构函数运行时不销毁 obj
- CArray的析构函数运行大约需要30秒
- 如何使这个递归函数运行得更快
- 如何在Visual studio C++中检查函数运行时间
- C++函数运行,即使它不应该运行?
- 参数的可变数量函数运行时错误
- boost::asio::io_service析构函数运行很长时间
- 具有变量参数的函数运行时错误
- C++析构函数运行时错误:无法munmap
- 如何在 MEX 函数运行时制作它 printf?