错误 C4430 缺少类型说明符 - 假定为 int。注意:C 不支持 default-int Generator

新手上路,请多包涵

我对以下代码有疑问:

生成器.h:

 #pragma once
class Generator
{
public:
    friend class BagObject;
    Generator(void);
    ~Generator(void);
    ...
    void generator(int);
private:
    BagObject *object;
    vector<BagObject> data; //Error c4430
};

这是一个错误:

 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

还有6个错误,但我相信在解决这个问题后它们应该消失了。

这是cpp文件。我第一次贴不上去。生成器.cpp

 #include "stdafx.h"
#include "Generator.h"
#include "BagObject.h"
#include <iostream>
#include <vector>
#include <ctime>

using namespace std;

Generator::Generator(void)
{
    srand(time(NULL));
}

Generator::~Generator(void)
{
    data.clear();
}

void Generator::generator(int ld)
{
    for (int i = 0; i<ld; i++)
{
    object = new BagObject(rand(),rand(),i);
    data.push_back(object);
    }
}

int main()
{
    Generator *g = new Generator;
    g->generator(10);
    return 0;
}

原文由 HeHacz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 761
1 个回答

我知道您的问题已解决,但在我的情况下,由于循环包含导致相同的错误(即我不小心将 .h 文件包含在其中包含的 .h 文件之一中)

TextureManager.h(有错误的文件)

 // This is TextureManager.h
#pragma once
#include "Game.h"
#include "GameObject.h"

/*
 texture manager class
*/

游戏对象.h

 // This is GameObject.h
#pragma once
#include "game.h"
#include "TexutureManager.h" // Accidental
/*

*/

我认为可能值得注意的是,这也是获得此错误的方法之一。

原文由 Aashish Singla 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏