我有这段代码的编译错误(C2011).我不知道它有什么问题.
命名空间(Ogre)没有定义PlaneMovement.我也尝试了一个不同的名字,但仍然是同样的错误.
#include <Ogre.h>
using namespace Ogre;
class PlaneMovement
{
public:
PlaneMovement(Degree startingAngle, Real velocity = 2, Real gravity = 2);
Vector2 updateMovement(const FrameEvent& evt);
private:
Degree currentAngle;
Real currentVelocityX;
Real currentVelocityY;
Real gravity;
bool top;
};
Run Code Online (Sandbox Code Playgroud)
Luc*_*ore 28
包括警卫:
#ifndef FILE_H
#define FILE_H
//file contents here
#endif
Run Code Online (Sandbox Code Playgroud)
头文件应该包含这个确切原因的保护 - 多个包含在同一个翻译单元中可以导致多重定义.
替代方案是使用
#pragma once
Run Code Online (Sandbox Code Playgroud)
但并非所有编译器都支持此功能.
| 归档时间: |
|
| 查看次数: |
24197 次 |
| 最近记录: |