保留的类名Visual C ++

时间:2010-08-24 12:24:05

标签: c++ visual-studio-2010 visual-c++ c++-cli

我想在我的项目类“屏幕”,“图形”,“字体”和“环境”中创建,但是当我输入这些名称并点击回车时我得到消息:“屏幕”是保留的类名或“环境” “是保留的班级名称。我不想制作CScreen或ScreenC或类似的东西:/我有Visual Stuido 2010.有什么方法可以解决这个问题吗?

6 个答案:

答案 0 :(得分:9)

我认为使用命名空间就是答案。

答案 1 :(得分:4)

这是Visual Studio中的错误。 Microsoft的VS 2010产品认为有许多名称是保留的,因为Microsoft的其他产品使用该名称。但是,您显然不会被迫使用其他Microsoft产品,并且由于这些不是c ++保留名称,因此这是一个错误,应该修复。当您包含已使用该名称的内容时,它应仅报告此名称冲突。我也看到编译器在纯c ++项目(没有MFC,ATL等)上为“Module”执行此操作。

在此期间,使用Add New Item选项并手动创建标题和实现。其他人提到名字很重要,这是真的,但我无法理解为什么他们会用它来阻止你使用像屏幕,图形,字体等名字。好名字应该易于使用,这些都是完全描述性的。绝对不要试图通过查找同义词库中不常见的单词来模糊含义。此外,不要尝试在类名中添加前缀 - 当您创建一个可供其他人重用的库时,名称空间是正确的工具。前缀是15年前使用的旧工具,当时名称空间尚未添加到该语言中。

答案 2 :(得分:2)

正如其他人所提到的,这是Visual Studio阻止您使用该名称,这是没有充分理由的。

解决此限制的最简单方法是使用“Add - > Class ...”对话框

  1. 在“类名称:”框中键入略有不同的类名(例如“Screen_”而不是“Screen”)
  2. 在对话框中手动编辑“.h file:”和“.cpp file:”下的文件名,以便它们是Screen.h和Screen.cpp
  3. 单击“完成”以创建类文件(文件名将正确,但实际的类将为Screen _)
  4. 手动编辑文件中的文本,将“Screen_”更改为“Screen”

答案 3 :(得分:1)

你是什么意思“我输入这些名字然后输入”?这是Class Wizard消息吗?在这种情况下,只需手动创建h和cpp文件。我不知道任何不允许在类中使用这些名称的C ++特性。当然,在名称冲突的情况下,使用名称空间。

答案 4 :(得分:0)

您需要完全不将#include这些类放入项目中,或者为您的类创建命名空间,然后在需要解析时使用该命名空间。

如果您希望其他程序员使用您的代码,他们可能会对您重用他们已经知道的类的名称感到困惑,因此最好为您的类提供一个前缀,或许表示项目名称。

答案 5 :(得分:0)

我找到解决方案:我可以单独添加Graphics.cpp和Graphics.h,Environment.cpp和..等等:/但我仍然不知道为什么我不能使用“添加类”:/