为什么在c ++类定义中公共引用

时间:2009-08-05 08:01:03

标签: visual-c++ c++-cli managed-c++

首先,我想说明一点,对C ++来说都是新手,所以这可能是一个简单而且有点明显的问题。在我正在阅读的C ++书中,我称之为C ++ Primer,一个类是通过编写来定义的:

class classname{
public:

private:

};

然而,在VS2008中,编译器并不喜欢这样。但是通过在课前添加公共引用,如:

public ref class classname{

它在编译器中完成了。任何人都可以解释只定义类和公共ref类之间的区别是什么?我真的很感激。

4 个答案:

答案 0 :(得分:21)

ref语法是仅在托管C ++中使用的Microsoft扩展。在创建项目时,您已经错误地点击了/clr编译器开关。如果您只想创建真正的C ++程序,那么您将希望还原它。

答案 1 :(得分:5)

你正在读一本叫C ++ Primer的书,它教授C++编程语言,而你正试图创建一个告诉VC ++的程序代码是C++/CLI,一种不同的编程语言。 ..

答案 2 :(得分:3)

您(编辑:和其他用户)使用以下标记此问题:

  • 两种编程语言 C++ C++/CLI
  • Microsoft的一个商业集成开发环境(IDE) Visual C++ ,它允许您使用三种不同语言(C,C ++进行编程和C ++ / CLI)。在帖子中提到 Microsoft Visual Studio 2008 ,这是Visual C ++的超集。
  • 一组语言扩展Managed C++,历史上曾提到过很多不同的东西,坦率地说,我不确定它现在意味着什么:)

但是,您的第一个目标应该是学习如何将Visual C ++配置为使用您选择的语言进行编程,C ++

像往常一样,找到这个问题的答案的好方法是在“提问”页面中输入,并查看建议的相关问题。我认为这是最好的一个:compiling "standard" C++ in visual studio (non .net)

答案 3 :(得分:1)

你在学习标准的C / C ++语言吗?如果答案是肯定的,那么该语法与Microsoft C ++ / CLI语言有关......

看看:C++/CLI

尝试使用带有C ++扩展的Eclipse。它提供了创建和执行STANDARD C ++程序所需的一切!

Eclipse download