我正在处理遗留代码,在进行更改时,我清理了解决方案。在那之后,我尝试编译,现在我得到了4个错误:
- apilabelprinter.h(265(:错误C2143:语法错误:在"constant"之前缺少"(">
- apilabelprinter.h(265(:错误C2143:语法错误:缺少";"在"常量"之前
- apilabelprinter.h(265(:错误C2059:语法错误:"(">
- apilabelprinter.h(265(:错误C2238:";"前面有意外的令牌
我不知道是什么原因造成的。在我清理之前,我正在构建/重建解决方案,但现在无论我做什么,我都会遇到上述问题。有人知道如何解决吗?IDE是visualstudio2008。给出错误的代码行是:
virtual void SetLineThickness( int t ) = 0;
出现问题的类:
class APIDLL_API ILabelGraphic : virtual public ILabelItem
{
public:
/// Set the width (in pixels).
virtual void SetWidth( int w ) = 0;
/// Set the height (in pixels).
virtual void SetHeight( int h ) = 0;
/// Set the line thickness (in pixels).
virtual void SetLineThickness( int t ) = 0;
enum eLineColor
{
eLineColor_Black, ///< Plain ol' black line.
eLineColor_White ///< Stunning white line.
};
/// Set the line color.
virtual void SetLineColor( eLineColor lc ) = 0;
};
ILabelItem类别:
class APIDLL_API ILabelItem
{
public:
/// Set the Label Text position (in pixels).
virtual void SetPosition( int x, int y ) = 0;
/// Return the current object equivalent in ZPL code.
virtual string ToZPLCode() = 0;
};
正如评论中所说,给我带来麻烦的一行是:
virtual void SetLineThickness( int t ) = 0;
我很抱歉没有提供那个细节。在仔细检查了代码之后,我发现了它是什么。我在UI中设置了一个新的组合框,有一次它意外地被命名为"t"。我发现了这一点,并在进行其他代码更改之前将其重命名。因此,在Resource.h中已经定义了:
#define t 1014
由于没有引用"t"组合框(在离开.rc文件之前,我发现了名称拼写错误并重命名了组合框(,我只删除了上面的代码行,错误就消失了。