【问题标题】:VC++ missing type specifier - int assumed. Note: C++ does not support default-int [duplicate]VC++ 缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 [重复]
【发布时间】:2013-07-23 06:15:58
【问题描述】:

以下代码在 VC++ 6.0 中编译得非常好,但是当我在 VS2005 中打开项目时,我得到了这个错误:

BCGPopupMenu.h(100):错误 C4430:缺少类型说明符 - int 假定。注意:C++ 不支持 default-int

可能是什么问题?

class BCGCONTROLBARDLLEXPORT CBCGPopupMenu : public CMiniFrameWnd
{
public:
    enum ANIMATION_TYPE
    {
        NO_ANIMATION,
        UNFOLD,
        SLIDE,
        FADE
    };

static SetAnimationType (CBCGPopupMenu::ANIMATION_TYPE type)
    {
        m_AnimationType = type; // this line gives error
    }
protected:
    static ANIMATION_TYPE m_AnimationType;

};

【问题讨论】:

  • 这可能会因为重复而关闭,但“SetAnimationType”没有返回类型。如果您不返回任何内容,则返回类型为无效。只需在静态后添加 void。
  • 谢谢。但我想知道它在早期版本中是如何工作的。
  • 答案在错误信息中:... Note: C++ does not support default-int

标签: c++ visual-studio types compiler-errors


【解决方案1】:
static SetAnimationType (CBCGPopupMenu::ANIMATION_TYPE type)

没有返回值,你应该这样做:

static void SetAnimationType (CBCGPopupMenu::ANIMATION_TYPE type)

【讨论】:

    【解决方案2】:

    一个可能的原因是缺少定义。切换 IDE 时,请确保将所需的每个路径都添加到项目设置中。

    查看工具>>选项>>项目和解决方案>>VC++目录

    【讨论】:

    • 这里不是这样。 SetAnimationType 没有返回类型。
    • @Borgleader 当然,这里缺少返回类型是一个错误。我只是想提醒一下,当看到缺少类型说明符错误时,最好检查 VS 中的路径设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 2015-01-28
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    相关资源
    最近更新 更多