gpt4 book ai didi

c++ - 关于结构的警告 C26495?

转载 作者:行者123 更新时间:2023-11-28 04:20:00 24 4
gpt4 key购买 nike

过去一两年我一直在使用 C#/.NET,但我正在为客户端更新一个旧的 C++/MFC 应用程序。我知道自从我上次使用 C++ 以来发生了很多变化,但这一点让我很震惊。

我有以下结构:

typedef struct _FILTERINFO {
int nCustomerID;
CString sCustomerName;
} FILTERINFO, *LPFILTERINFO;

Visual Studio 2019 给了我一个警告:

Warning C26495 Variable '_FILTERINFO::nCustomerID' is uninitialized. Always initialize a member variable (type.6).

那么,这里的问题是什么?我该如何初始化变量?如您所见,我没有构造函数。我现在不需要它们来构建结构,对吗?

注意:进一步研究,我发现我的应用程序定义了其他 struct,由于某种原因没有收到同样的警告。它似乎特定于大约两三个声明。

最佳答案

去掉 typedef,你正在做 C++,所以改为写:

struct FILTERINFO 
{
int nCustomerID=0;
CString sCustomerName;
};

typedef FILTERINFO* LPFILTERINFO; 

通常最好不要对指针进行 typedef,而是使用 FILTERINFO*,因为有时在与 const 一起使用时会出现意外行为

关于c++ - 关于结构的警告 C26495?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55667784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com