将标头中定义的MyClass作为函数参数传递给其他文件

时间:2015-04-25 16:14:04

标签: c++ function header arguments

我花了大约一个小时在网上找不到任何有用的东西。问题是我有一些文件,如a.h,b.h,a.cp​​p,b.cpp和main.cpp。在a.h中,我已经声明了一个具有我自己定义的属性的容器。我想将此容器作为参数传递给b.h / b.cpp中的函数。这样做的方法是什么?

a.h文件

struct Container{
int size;
int* array
...};

b.cpp

void someFunction(Container container)
{...}

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

使用#include "file"包含您需要的文件。

Further reading

例如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)
{ ... }