Почему public ref в определении класса С++

Прежде всего, я хочу пояснить, что все новое для С++, так что это может быть простой и несколько очевидный вопрос. В книге С++, которую я читаю под названием С++ Primer, класс определяется путем записи:

class classname{
public:

private:

};

Однако в VS2008 компилятору это не понравилось. Но добавив public ref перед классом, как в:

public ref class classname{

он прошел в компиляторе. Может ли кто-нибудь объяснить, в чем разница между определением только класса и общедоступного класса ref? Я был бы очень признателен.

Ответы

Ответ 1

Синтаксис ref - это расширение Microsoft, используемое только в Managed С++. По звукам вещей вы случайно включили компилятор /clr по ошибке при создании своего проекта. Если все, что вы хотите сделать, это создать настоящие С++-программы, тогда вы захотите вернуть это.

Ответ 2

Вы читаете книжный вызов С++ Primer, который учит языку программирования С++, тогда как вы пытаетесь создать программу, сообщающую VС++ код находится в С++/CLI, другой язык программирования....

Ответ 3

Вы (изменить: и другие пользователи) отметили этот вопрос:

  • Два языка программирования: С++ и С++/CLI,
  • Одна коммерческая интегрированная среда разработки (IDE) от Microsoft: Visual С++, который позволяет вам программировать на трех разных языках (C, С++ и С++/CLI). В сообщении вы указываете Microsoft Visual Studio 2008, который является надмножеством Visual С++.
  • Один набор языковых расширений: Управляемый С++, который исторически упоминался до совершенно разных вещей и, честно говоря, я не уверен, что это значит сейчас:)

Однако ваша первая цель должна состоять в том, чтобы узнать, как настроить Visual С++ для программирования на выбранном вами языке, С++.

Как обычно, хороший способ найти ответ на этот вопрос - набрать его на странице "Задайте вопрос" и посмотреть, какие связанные вопросы предлагаются. Это лучший, я думаю: компиляция "стандартного" С++ в visual studio (non.net).

Ответ 4

Вы изучаете стандартный язык C/С++? если да, то этот синтаксис относится к языку Microsoft С++/CLI...

посмотреть: С++/CLI

Попробуйте вместо этого использовать Eclipse с расширением С++. Он ссылается на все, что вам нужно для создания и выполнения программы STANDARD С++!

Загрузка Eclipse