C++ 在定义结构变量之前,有没有方法初始化它们?C++;
在这是我当前的代码下,我有一个名为“SCENE”的结构,它保存了我可以用来更改其他文件中某些Win32窗口的值的信息,该结构有点简单:C++ 在定义结构变量之前,有没有方法初始化它们?C++;,c++,visual-studio,variables,struct,C++,Visual Studio,Variables,Struct,在这是我当前的代码下,我有一个名为“SCENE”的结构,它保存了我可以用来更改其他文件中某些Win32窗口的值的信息,该结构有点简单: struct SCENE { LPCWSTR SceneButtonOneText; // Text For Button One SCENE* SceneButtonOneDestination; // Next Scene To Go To When Button One Is Pressed
struct SCENE
{
LPCWSTR SceneButtonOneText; // Text For Button One
SCENE* SceneButtonOneDestination; // Next Scene To Go To When Button One Is Pressed
LPCWSTR SceneButtonTwoText; // Text For Button Two
SCENE* SceneButtonTwoDestination; // Next Scene To Go To When Button Two Is Pressed
LPCWSTR SceneButtonThreeText; // Text For Button Three
SCENE* SceneButtonThreeDestination; // Next Scene To Go To When Button Three Is Pressed
LPCWSTR SceneButtonFourText; // Text For Button Four
SCENE* SceneButtonFourDestination; // Next Scene To Go To When Button Four Is Pressed
LPCWSTR SceneTextBoxContent; // Text To Be Displayed Inside Of Window
LPCSTR SceneImgDrc; // Directory For An BITMAP To Be Displayed Inside A Window
};
如上所示,一旦按下按钮,它将进入下一个场景,尽管在进入前一个场景时会出现问题,但由于场景变量尚未初始化,我不确定在这里要做什么,我尝试了一些“结构原型设计”,就像你可以用函数做的那样,尽管这不起作用,我试着写作
SCENE Scene4;
SCENE Scene5;
SCENE Scene6;
SCENE Scene6;
尽管我的编译器抛出了一个关于结构重新定义的错误,
完整代码如下:
// Scenes . hpp
// Includes
#include <Windows.h>
// Structures
struct SCENE
{
LPCWSTR SceneButtonOneText;
SCENE* SceneButtonOneDestination;
LPCWSTR SceneButtonTwoText;
SCENE* SceneButtonTwoDestination;
LPCWSTR SceneButtonThreeText;
SCENE* SceneButtonThreeDestination;
LPCWSTR SceneButtonFourText;
SCENE* SceneButtonFourDestination;
LPCWSTR SceneTextBoxContent;
LPCSTR SceneImgDrc;
};
// Prototypes
// Scenes
SCENE Scene7 = SCENE // Front Yard
{
L"Search Bedroom",
&Scene7,
L"Search Kitchen",
&Scene4,
L"Search Living Room",
&Scene5,
L"Search Backyard",
&Scene6,
L"",
"./Images/TatesHouseWTate.bmp"
};
SCENE Scene6 = SCENE // Backyard
{
L"Search Bedroom",
&Scene6,
L"Search Kitchen",
&Scene4,
L"Search Living Room",
&Scene5,
L"Search Front Yard",
&Scene7,
L"",
"./Images/TatesBackyardWTate.bmp"
};
SCENE Scene5 = SCENE // Living Room
{
L"Search Bedroom",
&Scene5,
L"Search Kitchen",
&Scene4,
L"Search Backyard",
&Scene6,
L"Search Front Yard",
&Scene7,
L"",
"./Images/TatesLivingRoomWTate.bmp"
};
SCENE Scene4 = SCENE // Kitchen
{
L"Search Bedroom",
&Scene4,
L"Search Living Room",
&Scene5,
L"Search Backyard",
&Scene6,
L"Search Front Yard",
&Scene7,
L"",
"./Images/TatesKitchenWTate.bmp"
};
SCENE Scene3 = SCENE // Waking Up
{
L"Search Kitchen",
&Scene4,
L"Search Living Room",
&Scene5,
L"Search Backyard",
&Scene6,
L"Search Front Yard",
&Scene7,
L"",
"./Images/TatesBedroomWTate.bmp"
};
SCENE Scene2 = SCENE // Ceiling
{
L"Get Up",
& Scene3,
L"",
& Scene2,
L"",
& Scene2,
L"",
& Scene2,
L"",
"./Images/CeilingFan.bmp"
};
SCENE Scene1 = SCENE // Black
{
L"Open Eyes",
& Scene2,
L"",
& Scene1,
L"",
& Scene1,
L"",
& Scene1,
L"",
"./Images/Black.bmp"
};
SCENE Scene0 = SCENE // Start
{
L"",
& Scene0,
L"Play",
& Scene1,
L"Exit",
& Scene0,
L"",
& Scene0,
L"Text",
"./Images/Image.bmp"
};
//场景。水电站
//包括
#包括
//结构
结构场景
{
LPCWSTR SceneButtonOneText;
场景*场景按钮未指定目标;
LPCWSTR SceneButtonTwoText;
场景*SceneButtonWoDestination;
LPCWSTR场景按钮文本;
场景*场景按钮返回目的地;
LPCWSTR SceneButtonFourText;
场景*SceneButtonFourDestination;
LPCWSTR SceneTextBoxContent;
LPCSTR SceneImgDrc;
};
//原型
//场面
场景场景7=场景//前院
{
L“搜查卧室”,
&场景7,
L“搜索厨房”,
&场景4,
L“搜索客厅”,
&场景5,
L“搜索后院”,
&场景6,
L“,
“/Images/TatesHouseWTate.bmp”
};
场景6=场景//后院
{
L“搜查卧室”,
&场景6,
L“搜索厨房”,
&场景4,
L“搜索客厅”,
&场景5,
L“搜索前院”,
&场景7,
L“,
“/Images/TatesBackyardWTate.bmp”
};
场景场景5=场景//客厅
{
L“搜查卧室”,
&场景5,
L“搜索厨房”,
&场景4,
L“搜索后院”,
&场景6,
L“搜索前院”,
&场景7,
L“,
“/Images/tateslingroomwtate.bmp”
};
场景场景4=场景//厨房
{
L“搜查卧室”,
&场景4,
L“搜索客厅”,
&场景5,
L“搜索后院”,
&场景6,
L“搜索前院”,
&场景7,
L“,
“/Images/TatesKitchenWTate.bmp”
};
场景3=场景//醒来
{
L“搜索厨房”,
&场景4,
L“搜索客厅”,
&场景5,
L“搜索后院”,
&场景6,
L“搜索前院”,
&场景7,
L“,
“/Images/TatesBedroomWTate.bmp”
};
场景场景2=场景//天花板
{
我“起来”,
&场景3,
L“,
&场景2,
L“,
&场景2,
L“,
&场景2,
L“,
“/Images/CeilingFan.bmp”
};
场景Scene1=场景//黑色
{
L“睁开眼睛”,
&场景2,
L“,
&场景一,
L“,
&场景一,
L“,
&场景一,
L“,
“/Images/Black.bmp”
};
场景场景0=场景//开始
{
L“,
&场景0,
L“玩”,
&场景一,
L“退出”,
&场景0,
L“,
&场景0,
L“文本”,
“/Images/Image.bmp”
};
非常感谢您的帮助!谢谢 谢谢“Elijay”,我不知道这么简单
extern SCENE Scene4;
工作得很好 您可以尝试前向声明,它看起来像
extern Scene4代码>非常感谢,伙计!我很高兴你得到了你的解决方案,谢谢你的分享,如果你把它们作为答案,我将不胜感激,这将对其他社区有益。没问题,伙计,谢谢,