Почему 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