0

我有以下一段代码让我有点失望:

template <typename T, typename K>
struct __UJstruct
{
    ...
    char lchar[K::hLen];
    ...
};

在这种情况下做什么K::hLen

4

1 回答 1

4

在这种情况下,hLen很可能是类的静态数据成员K。静态数据成员属于整个类型而不是单个对象,如果您没有K对象,您仍然可以像这样引用它们。

另一种可能性是它hLen可能是enum内部声明的一部分K,如下所示:

class K
{
public:
    enum Dimensions
    {
        hLen,
        hHgt,
        hDpth
    };

    ...
};

在其他情况下,您还可以使用::运算符来引用内部声明的类型K,如下所示:

class K
{
public:
    class J
    {
        ...
    };

    ...
};

...

K::J j;
于 2013-11-13T02:23:28.830 回答