-1

我不确定这是否可行,因为我对 C++ 还很陌生,并且已经看到许多程序员专门指示其他人不要只使用一个 cpp 文件和几个头文件。

我的问题是如何从另一个文件中启动/进入一个 c++ 文件?很难解释也许这个伪代码更容易理解?

//Within say main.cpp
int main()
{
    StartProgram(); //Uses a series of commands to run 'StartProgram' like StartProgram();
}

//Within StartProgram()
int maintwo()
{
//Unimportant commands
}

我知道这对于头文件是可能的,但由于已经初始化的命令,它似乎会抛出错误。

提前致谢!

4

2 回答 2

5

如果您遇到重复定义的问题,您需要在头文件中使用包含保护。例如:

// header.hxx
#ifndef HEADER_HXX_
#define HEADER_HXX_

void maintwo();

#endif

如果您不想使用标头,并且想访问其他源文件中的函数,则可以使用extern声明,如下所示:

// file1.cxx
extern void maintwo();

int main()
{
    maintwo();
}

// file2.cxx
#include <iostream>
void maintwo()
{
    std::cout << "maintwo()" << std::endl;
}

但是你必须将它们链接在一起。如果你使用的是 GCC 编译器,你可以这样做:

> g++ -c file1.cxx
> g++ -c file2.cxx
> g++ file1.o file2.o -o my_program

如果您需要我的建议,只需使用带有包含保护的头文件,您就不必担心多个声明/定义。

于 2013-09-26T12:55:26.397 回答
1

由于您确实想在没有头文件的情况下使用原型,因此您可以使用没有原型的函数。

(我建议避免这样做,因为如果您不知道自己在做什么,它会破坏大多数代码)

或者您可以在定义函数之前进行原型声明。像这样的东西:

void function();

int main ()
{
    function();
}

void function ()
{
     //do some stuff
}
于 2013-09-26T11:06:31.067 回答