在VS 2019项目中的26444(es84)

编程入门 行业动态 更新时间:2024-10-26 18:17:22
本文介绍了在VS 2019项目中的26444(es84)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

这是VS2019 v.16.0.0,C ++工作区。该项目是基于MFC对话框的exe文件。

It is VS2019 v. 16.0.0, C++ workspace. The project is MFC dialog-based exe file.

操作系统是Win 7 Pro SP1。

The OS is Win 7 Pro SP1.

问题:VS在代码行上发出26444消息在VS2017中完全没问题。

Problem: VS issues 26444 message on code linesthat were perfectly OK in VS2017.

下载并安装VS2019 Community v.16.0.0后,我将整个项目文件夹复制到VS2019的项目目录中。我编译并运行Win SDK 10.017763 .0和VS平台v142。一切都差不多了,但我在CPP文件中看到了几分钟:

After I downloaded and installed VS2019 Community v.16.0.0 I copied whole project folder into project directory of VS2019.I compiled and run it with Win SDK 10.017763.0 and VS platform v142. All was almost fine, but couple minutes I saw in CPP file this:

和此cpp文件中的类似内容。将鼠标悬停在绿线上会打开文字:

and the similar in this cpp file. Hovering over green line opens text:

" struct spin_params< int>

"Struct spin_params<int>

26444避免使用自定义构造函数和析构函数的未命名对象(es.84" ;

26444 Avoid unnamed objectswith custom constructors and destructors (es.84"

使用v141(VS2017)构建正常,没有绿线。

Build with v141 (VS2017) goes OK, without green lines.

我将展示C ++代码:

I will show the C++ code:

// definition of spin_params

模板< typename T> struct spin_params {

template <typename T> struct spin_params {

//构造函数 spin_params(string_t& name,T lowerVal,T upperVal,T delta,T pos,int nPrecision = 0): ms_name(name),ms_lowerVal (lowerVal),ms_upperVal(upperVal),ms_delta(delta),ms_pos(pos),ms_nPrecision(nPrecision) {} spin_params(){} {} ~spin_params(){} spin_params< T> operator =(const spin_params< T>& rhs) { ......... ..................... } //成员 string_t ms_name; T ms_lowerVal; T ms_upperVal; T ms_delta; T ms_pos; int ms_nPrecision; };

// Constructors spin_params(string_t& name, T lowerVal, T upperVal, T delta, T pos, int nPrecision = 0) : ms_name(name), ms_lowerVal(lowerVal), ms_upperVal(upperVal), ms_delta(delta), ms_pos(pos), ms_nPrecision(nPrecision) {} spin_params() {} {} ~spin_params(){} spin_params<T> operator =(const spin_params<T>& rhs) { .............................. } // Members string_t ms_name; T ms_lowerVal; T ms_upperVal; T ms_delta; T ms_pos; int ms_nPrecision; };

//使用var_sp_types = variant< spin_params< char>,spin_params< uint8_t>,spin_params< int>,spin_params< unsigned int>,定义std :: variant var_sp_types , spin_params< long>,spin_params< unsigned long> ;,spin_params< float>,spin_params< double>> ;; //包含var_sp_types的向量向量< var_sp_types>& vSpinParams; // vSpinParams填充了spin_params< int>的实例。和spin_params< double> spin_params< int> SPINT; spin_params< double> spDouble; vector< var_sp_types> :: const_iterator it = vSpinParams.begin(); vector< var_sp_types> :: const_iterator itE = vSpinParams.end();

// Definition of std::variant var_sp_types using var_sp_types = variant<spin_params<char>, spin_params<uint8_t>, spin_params<int>, spin_params<unsigned int>, spin_params<long>, spin_params<unsigned long>, spin_params<float>, spin_params<double>>; // Vector that contains var_sp_types vector<var_sp_types>& vSpinParams; // vSpinParams is populated with instances of spin_params<int> and spin_params<double> spin_params<int> spInt; spin_params<double> spDouble; vector<var_sp_types>::const_iterator it = vSpinParams.begin(); vector<var_sp_types>::const_iterator itE = vSpinParams.end();

//读取spin_params< int和spin_params< double>使用

// Read spin_params<int and spin_params<double> from variants in the vector using

// std :: get< type>(变体实例) if(it!= itE) spin_params< INT>>(*它++); m_spEpochs.InitSpin(spInt,& m_edEpochs),++ m_nSpinCnt; if(it!= itE) { spInt = get< spin_params< int>>(* it ++); m_spBatch.InitSpin(spInt,& m_edBatch),++ m_nSpinCnt; if(it!= itE) { spDouble = get< spin_params< double>>(* it ++); m_spLearnRate.InitSpin(spDouble,& m_edLearnRate),++ m_nSpinCnt; .............................................. ........

//std::get<type>(variant instance) if (it != itE) { spInt = get<spin_params<int>>(*it++); m_spEpochs.InitSpin(spInt, &m_edEpochs), ++m_nSpinCnt; if (it != itE) { spInt = get<spin_params<int>>(*it++); m_spBatch.InitSpin(spInt, &m_edBatch), ++m_nSpinCnt; if (it != itE) { spDouble = get<spin_params<double>>(*it++); m_spLearnRate.InitSpin(spDouble, &m_edLearnRate), ++m_nSpinCnt; ......................................................

这可能是错误,因为spin_params是一种类型只有。

It might be bug because the spin_params is mentioned as a type only.

无论如何,我怎么能摆脱这些消息?

Anyway, how can I get rid of these messages?

推荐答案

您好,

感谢您在这里发帖。

>>无论如何,我怎么能摆脱这些消息?

as MSDN 显示,这些似乎是代码分析警告。代码分析在后台自动运行,警告显示为绿色波浪形。

As MSDN shows, these seems to be the code analysis warnings. Code analysis runs automatically in the background and warnings display as green squiggles.

单击工具>选项>文本编辑器> C / C ++>高级>代码分析:将禁用后台代码分析设置为True。

Click Tools>Options>Text Editor > C/C++ > Advanced > Code analysis: set disable background code analysis as True.

祝福,

Jack Zhang

Jack Zhang

更多推荐

在VS 2019项目中的26444(es84)

本文发布于:2023-11-17 14:05:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1610146.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!