gpt4 book ai didi

c++ - 优化 C++ 项目的源代码结构

转载 作者:行者123 更新时间:2023-11-28 02:20:38 25 4
gpt4 key购买 nike

我想创建一个小项目,分为多个文件。 main.cpp :

#include <cstdlib>
#include <iostream>
#include sc_hpp

using namespace std;

int main(int argc, char *argv[])
{
add(3,4);
system("PAUSE");
return EXIT_SUCCESS;
}

sc.hpp:

#ifndef "sc.hpp"
#define sc_hpp

int add(int a, int b);



#endif

函数.cpp:

#include "sc.hpp"

int add(int a, int b)
{
return(a + b);
}

但它不起作用。错误:

`add' undeclared (first use this function) 

我第一次尝试在多个文件中制作程序,所以我认为这个问题一定很容易解决。

最佳答案

你有两个明显的错误:

在你的main中:

     #include <cstdlib>
#include <iostream>
// the included header file needs to be enclosed in " "
// and it needs a suffix, i.e.: `.h`
#include "sc_hpp.h"

using namespace std;

int main(int argc, char *argv[])
{

}

sc.hpp:

    // the include guards doesn't have to be enclosed in " "
// the suffix's dot:'.' is replaced with underscore: '_'
// header name in uppercase letters
#ifndef SC_HPP_H
#define SC_HPP_H

int add(int a, int b);

// included .cpp files with function implementation here
#include "sc.hpp"

#endif

有关如何组织代码文件的更多信息,here .

一般来说,预处理器指令 #include 会扩展它后面的文件中包含的代码,因此 main 中的代码如下所示:

   #include <cstdlib>
#include <iostream>
// #include "sc_hpp.h" replaced with
int add(int a, int b);
// the #include "sc.cpp" nested within the "sc_hpp.h" is replaced with
int add(int a, int b)
{
return(a + b);
}

using namespace std;

int main(int argc, char *argv[])
{

}

关于c++ - 优化 C++ 项目的源代码结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com