Enum:不允许类型名称

azu*_*ric -1 c++

我是一名 .Net C# 程序员,尝试使用 C++ 进行编程。我有一个使用第三方库的应用程序。当我尝试在该库的函数中使用库中的枚举时,我收到一条类型不允许的错误消息:

我已经包括了图书馆:

#include <Trading.h>

using namespace Trading;
Run Code Online (Sandbox Code Playgroud)

Trading.h 包括 Enumerations.h,其中包含:

/// Returns string representation.
FOO std::string enumToString (TimeInForce::Enum);

/// Trading session event type.
struct FOO TradSesEvent
{
    /// @copydoc TradSesEvent
    enum Enum
    {
       ...
    };
};
Run Code Online (Sandbox Code Playgroud)

Application.cpp 的代码简化为问题:

#include <Trading.h>

using namespace Trading;

class Application
{
public:
    Application(const Settings& settings) : settings_(settings)
    {
        orderBook_.reset(new OrderBook());
    ...
    }

private:
    // Store of orders sent to counterparty.
    PtrTraits<OrderBook>::UniquePtr orderBook_;

    void onSendNewOrder(Order& newOrder)
    {
        //create unique_ptr to fill in the order values and sen

        PtrTraits<Order>::UniquePtr order(new Order(orderBook_->newId()));

        order->timeInForce = TimeInForce.Day;
        ...
    }
};
Run Code Online (Sandbox Code Playgroud)

错误信息:

struct Application::TimeInForce 类型名称不允许C/C++(254)

Ast*_*ngs 7

命名在类或命名空间中声明的无作用域枚举的成员的语法TimeInForce是:

TimeInForce::Day
Run Code Online (Sandbox Code Playgroud)

句点 ( .) 用于访问类的非静态成员。