我想在我的项目类“屏幕”,“图形”,“字体”和“环境”中创建,但是当我输入这些名称并点击回车时我得到消息:“屏幕”是保留的类名或“环境” “是保留的班级名称。我不想制作CScreen或ScreenC或类似的东西:/我有Visual Stuido 2010.有什么方法可以解决这个问题吗?
答案 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 ...”对话框
答案 3 :(得分:1)
你是什么意思“我输入这些名字然后输入”?这是Class Wizard消息吗?在这种情况下,只需手动创建h和cpp文件。我不知道任何不允许在类中使用这些名称的C ++特性。当然,在名称冲突的情况下,使用名称空间。
答案 4 :(得分:0)
您需要完全不将#include
这些类放入项目中,或者为您的类创建命名空间,然后在需要解析时使用该命名空间。
如果您希望其他程序员使用您的代码,他们可能会对您重用他们已经知道的类的名称感到困惑,因此最好为您的类提供一个前缀,或许表示项目名称。
答案 5 :(得分:0)
我找到解决方案:我可以单独添加Graphics.cpp和Graphics.h,Environment.cpp和..等等:/但我仍然不知道为什么我不能使用“添加类”:/