0

从 Visual Studio 2013 迁移到 Visual Studio 2019 编译器时,出现以下错误。请帮助我修复相同的问题。

我在下面的头文件 (.h) 中声明了该函数:

#ifndef CSAHCCOMPOSEDITEM_H
#define CSAHCCOMPOSEDITEM_H

#ifdef _UTEST
class CsaHcDICOMComposerTester;
#endif

class EXP_IMP_HcDicComp CsaHcComposedItem
{
#ifdef _UTEST
friend class CsaHcDICOMComposerTester;
#endif

public:

enum CsaHcComposedItemType
{
CISegment,
CIPage,
CILayout,
CIPageBracket,

CIPrintJobBracket,

CIDummy
};

CsaHcComposedItem
(bool &status, CsaHcComposedItemType type_in);

CsaHcComposedItem
();

CsaHcComposedItem a
(const CsaHcComposedItem& compObj_in);

CsaHcComposedItem& operator=
(const CsaHcComposedItem& compObj_in);

~CsaHcComposedItem();

bool operator==
(const CsaHcComposedItem& ci_in);

private: // attributes

CsaHcComposedItemType
myType;
CsaHcBasicFilmSession
*myBFS;
CsaHcBasicFilmBox
*myBFB;
CsaHcBasicImageBox
*myBIB;
CsaDib  *myDib;
BYTE *myPixelArray;
};

#endif // CSAHCCOMPOSEDITEM_H
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

并且 cpp 文件包含构造函数的定义。

//pusedo代码

CsaHcComposedItem::CsaHcComposedItem(bool &status_out,
// Return status of the construcor
CsaHcComposedItemType type_in)
// Composed item type
: myType(type_in), // error shown for this line (70)
myBFS(NULL), //line71
myBFB(NULL),
myBIB(NULL),
myDib(NULL),
myPixelArray(NULL)
{
.....
}

错误:

1.CsaHcComposedItem.cpp(70):错误 C2761:'{ctor}':不允许重新声明成员 2.CsaHcComposedItem.cpp(70):错误 C2059:语法错误:':' 3.CsaHcComposedItem.cpp(70) :错误 C2065:'type_in':未声明的标识符 4.CsaHcComposedItem.cpp(70):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 5.CsaHcComposedItem.cpp(71):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 6.CsaHcComposedItem.cpp(72):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 7.CsaHcComposedItem.cpp(73):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 8.CsaHcComposedItem.cpp(74):错误 C4430:缺少类型说明符 - 假定为 int。笔记:C++ 不支持默认整数 9.CsaHcComposedItem.cpp(75):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数 10.CsaHcComposedItem.cpp(78):错误 C2448:'myPixelArray':函数样式初始化程序似乎是函数定义

4

2 回答 2

0

问题已修复,在我的 cpp 文件中未对下面的代码行进行注释,但在注释后它起作用了。


于 2020-03-13T05:39:28.307 回答
0

该源代码在 VS2019(16.4.5) 中编译没有错误

我用这些声明编译


#include <Windows.h>

#define EXP_IMP_HcDicComp

using CsaHcBasicFilmSession = int;
using CsaHcBasicFilmBox = int;
using CsaHcBasicImageBox = int;
using CsaDib = int;

在此处输入图像描述

于 2020-03-12T06:20:06.830 回答