我花了大约一个小时在网上找不到任何有用的东西。问题是我有一些文件,如a.h,b.h,a.cpp,b.cpp和main.cpp。在a.h中,我已经声明了一个具有我自己定义的属性的容器。我想将此容器作为参数传递给b.h / b.cpp中的函数。这样做的方法是什么?
a.h文件
struct Container{
int size;
int* array
...};
b.cpp
void someFunction(Container container)
{...}
感谢您的帮助。
答案 0 :(得分:3)
使用#include "file"
包含您需要的文件。
例如b.cpp
:
#include "a.h"
void someFunction(Container container);
您还应该将包含警卫放入头文件中。
它们可以防止意外多次包含同一文件。如果您的文件名为a.h
,则可以编写以下内容:
a.h
:
#ifndef A_H
#define A_H
// ... your code ...
#endif // A_H
答案 1 :(得分:3)
在b.h中,您应该放置#include "a.h"
以便容器描述可用。之后,您可以简单地声明您的功能,就像您在问题中拥有它们一样。所以你的文件看起来像这样:
A.H
#ifndef A_H
#define A_H
struct Container{
int size;
int* array
...};
#endif // A_H
b.h
#ifndef B_H
#define B_H
#include "a.h"
void someFunction(Container container);
#endif // B_H
b.cpp
void someFunction(Container container)
{ ... }