c ++通过更改类名解决的Visual Studio错误

时间:2015-09-23 09:06:09

标签: c++ visual-studio-2010 compiler-errors

我试图使用此页面的指南表单编译简单的类声明。

http://www.cplusplus.com/doc/tutorial/classes/

它直接从网站粘贴,不允许我编译。我正在使用visual studio 2010.

这是我收到的错误:

  

错误C2146:语法错误:缺少';'在标识符' rec'

之前

更改类的名称解决了问题,但我找不到任何地方Rectangle是为VS或C ++相关的任何字保留的字。

下次我怎么能这样做?

class Rectangle
{
    public:
      int width;
      int height;
};

int main( )
{   
   Rectangle rec;
}

class Rector
{
   public:
    int width;
    int height;
};

int main( )
{   
   Rector rec;
}

1 个答案:

答案 0 :(得分:2)

如果您包含Windows.h或Wingdi.h,您的类名可能与Rectangle函数冲突。

您有几种选择:

  1. Rectangle类放入命名空间
  2. 除非绝对必要,否则不要包含Windows.h
  3. 在任何地方使用class Rectangle引用它来消除函数和类之间的歧义(作为最后的手段)