我经常会搜索这个错误.但是在VS C++ Express中,这个错误几乎可以解决你所犯的每一个错误.我如何在下面收到此错误
error C2146: syntax error : missing ';' before identifier 'vertices'
Run Code Online (Sandbox Code Playgroud)
每次我在我的文档顶部添加以下代码
// Create vertex buffer
SimpleVertex vertices[] =
{
D3DXVECTOR3( 0.0f, 0.5f, 0.5f ),
D3DXVECTOR3( 0.5f, -0.5f, 0.5f ),
D3DXVECTOR3( -0.5f, -0.5f, 0.5f ),
};
Run Code Online (Sandbox Code Playgroud)
下面是完整的代码.无法弄清楚什么是错的.谢谢
[编辑]
// include the basic windows header file
#include "D3Dapp.h"
class MyGame: public D3Dapp
{
public:
bool Init3d();
};
MyGame game;
struct SimpleVertex
{
D3DXVECTOR3 Pos; // Position
};
// the entry point for any Windows program
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
game.InitWindow(hInstance , nCmdShow);
return game.Run();
}
bool MyGame::Init3d()
{
D3Dapp::Init3d();
// Create vertex buffer
SimpleVertex vertices[] =
{
D3DXVECTOR3( 0.0f, 0.5f, 0.5f ),
D3DXVECTOR3( 0.5f, -0.5f, 0.5f ),
D3DXVECTOR3( -0.5f, -0.5f, 0.5f ),
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
新的错误
1>c:\users\numerical25\desktop\intro todirectx\msdntutorials\tutorial0\tutorial\tutorial\main.cpp(14) : error C2146: syntax error : missing ';' before identifier 'Pos'
Run Code Online (Sandbox Code Playgroud)
sbi*_*sbi 29
Run Code Online (Sandbox Code Playgroud)error C2146: syntax error : missing ';' before identifier 'vertices'
通常,当编译器不知道标识符之前的内容时会发生此错误.在你的情况下,这意味着编译器还没有看到SimpleVertex.
| 归档时间: |
|
| 查看次数: |
57485 次 |
| 最近记录: |