Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在定义结构变量之前,有没有方法初始化它们?C++;_C++_Visual Studio_Variables_Struct - Fatal编程技术网

C++ 在定义结构变量之前,有没有方法初始化它们?C++;

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

在这是我当前的代码下,我有一个名为“SCENE”的结构,它保存了我可以用来更改其他文件中某些Win32窗口的值的信息,该结构有点简单:

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非常感谢,伙计!我很高兴你得到了你的解决方案,谢谢你的分享,如果你把它们作为答案,我将不胜感激,这将对其他社区有益。没问题,伙计,谢谢,