这个问题已经在这里有了答案:




9年前关闭。






如果我有

typedef struct tagPAGERANGE
{
    int iFirstPage;
    int iLastPage;
} PAGERANGE;

我可以这样转发
struct tagPAGERANGE;
typedef struct tagPAGERANGE PAGERANGE;

但是我有的是
typedef struct
{
    int iFirstPage;
    int iLastPage;
} PAGERANGE;

我不确定该怎么做。我只想持有一个指向该结构的指针。现在,我坚持使用一个相当大的 header ,或者复制该结构的定义。

最佳答案

不可能。您只能声明命名结构。

考虑一下什么标识没有名称的结构,以及如何告诉编译器它就是您想要的结构。如果没有名称,则由其成员标识,因此您需要提供成员-即定义它。因此,您不能仅仅声明它-除了定义本身之外,您没有奢侈的标识符。

关于c++ - 转发声明未命名结构的typedef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10249548/

10-12 01:43
查看更多