我正在尝试将数据从传递给我的方法的参数转换为结构,我需要将数据传递给全局变量,因为在我的应用程序的其他地方需要它。
我尝试过以下操作,但我收到错误消息称diceResult
是未声明的标识符
以下是代码本身:
//Structure to hold dice data
typedef struct diceData
{
int dice1;
int dice2;
};
struct diceResult;
DWORD WINAPI UnpackDiceData(LPVOID sentData)
{
//Unpack data
struct diceData unpackedData = *((struct diceData*)sentData);
diceResult.dice1 = unpackedData.dice1;
diceResult.dice2 = unpackedData.dice2;
}
我不明白为什么当它显然是全球化的时候它不会认出它在那里。
答案 0 :(得分:1)
typedef struct diceData
{
int dice1;
int dice2;
};
您的typedef
没有做任何事情。通常你会使用它:
typedef struct {
int dice1;
int dice2;
} diceData;
然后您可以定义该类型的实例:
diceData diceResult;
...和然后您的其他代码应该能够使用该实例。
当你有这个工作时,我的建议是重写它,以便不使用全局数据。