Error: "expected a type specifier"
Error: "expected a type specifier"
我收到这个错误,我不知道为什么在尝试创建新的 object 指针时。
这是我的 header class
的代码
#ifndef CURSOR_H_INCLUDED
#define CURSOR_H_INCLUDED
#include <SFML\Graphics.hpp>
#Include "Mango.h"
#include <stack>
using namespace sf;
using namespace std;
struct cursor{
Texture tCursor;
Sprite sCursor;
stack<Mango*> inv;
float money;
void Sell();
cursor();
~cursor();
};
#endif CURSOR_H_INCLUDED
主要是尝试这样做
cursor * cursor = new cursor();
但它给了我那个错误。
您已将指针命名为与 class 相同的名称。你不能这样做:
struct Foo {int a;};
int main()
{
Foo* Foo = new Foo(); // Because
// After here ^^^ Foo is no longer a type but a variable. And you can't "new"
// a variable. Thanks to user4581301 for teaching me this.
return 0;
}
在:
cursor * cursor = new cursor();
^^^^^^
将您的指针名称从 cursor 更改为其他名称。
P.S。有趣的是,感谢 user4581301 我知道变量可以与 user-defined 类型同名,但这显然是个坏主意。所以:
Foo Foo; // Fine
Foo.a = 7; // Fine
Foo newFooObj; // Doesn't make sense, Foo is no longer seen as a type
我收到这个错误,我不知道为什么在尝试创建新的 object 指针时。
这是我的 header class
的代码#ifndef CURSOR_H_INCLUDED
#define CURSOR_H_INCLUDED
#include <SFML\Graphics.hpp>
#Include "Mango.h"
#include <stack>
using namespace sf;
using namespace std;
struct cursor{
Texture tCursor;
Sprite sCursor;
stack<Mango*> inv;
float money;
void Sell();
cursor();
~cursor();
};
#endif CURSOR_H_INCLUDED
主要是尝试这样做
cursor * cursor = new cursor();
但它给了我那个错误。
您已将指针命名为与 class 相同的名称。你不能这样做:
struct Foo {int a;};
int main()
{
Foo* Foo = new Foo(); // Because
// After here ^^^ Foo is no longer a type but a variable. And you can't "new"
// a variable. Thanks to user4581301 for teaching me this.
return 0;
}
在:
cursor * cursor = new cursor();
^^^^^^
将您的指针名称从 cursor 更改为其他名称。
P.S。有趣的是,感谢 user4581301 我知道变量可以与 user-defined 类型同名,但这显然是个坏主意。所以:
Foo Foo; // Fine
Foo.a = 7; // Fine
Foo newFooObj; // Doesn't make sense, Foo is no longer seen as a type