1

我需要找到一种方法来告诉我的程序的 C 编译器某个结构与另一个结构相同(它们的定义相同)。我认为选角就足够了,但也许这不是一个好主意?

我不只是使用一个结构的原因是因为结构是在非常繁重的框架类中定义的,而且我自己有很多不同的类,导入需要在其中使用结构的类.h

那么,考虑到它们是相同的,如果可能的话,我怎么能告诉编译器Struct A可以用于需要的函数呢?Struct B


为了说明这一点,在我的例子中,我有一个单例,大约有 14 个类可以访问和使用它。单例中的一些函数与其他类一起工作,并为它们的特定导入提供资源和数据。其中之一是 MapKit 框架。我一直在使用 MapKit 框架中的许多结构(尤其是 MKUserLocation.h),但会导入许多其他类并在定义中添加很多内容。

对我来说,一个具体的例子是使用 CLLocationCoordinate2D,我必须在我的单例中重新创建它,以便并非所有 14 个类都从 MapKit 框架导入。只是显得过分了。

我知道如何使这一切正常工作,但是除了强制转换或导入所有内容之外,应该有一个很好的解决方案。

4

1 回答 1

0

你能简单地编写一个全局函数来从一个结构转换到另一个结构吗?

void OneStructToAnotherStruct( struct FromStruct* from, struct ToStruct* to )
{
   to->x = from->x;
   to->y = from ->y;
   to->z = from->z;
}
于 2012-12-13T22:08:43.403 回答