2009-08-05 14 views
14

Przede wszystkim chcę wyjaśnić, że jestem nowy w C++, więc może to być proste i nieco oczywiste pytanie. W książce C++ Czytam nazywane C++ Primer klasa jest zdefiniowana przez piśmie:Dlaczego publiczna ref w definicji klasy C++

class classname{ 
public: 

private: 

}; 

Jednak w VS2008 zrobił kompilator tak. Ale dodając publicznego ref przed klasy, jak w:

public ref class classname{ 

przeszedł w kompilatorze. Czy ktoś może wyjaśnić, jaka jest różnica między definiowaniem tylko klasy a publiczną klasą ref? Naprawdę to doceniam.

+1

To jest pytanie, które chciałeś zadać: http://stackoverflow.com/questions/1195572/compiling-standard-c-in-visual-studio-non-net –

+0

"To się nie podobało" to nie komunikat o błędzie, który generuje VS2008. Jeśli OP określił komunikat o błędzie, być może odpowiedzi nie byłyby tak straszne. –

Odpowiedz

21

Składnia ref jest rozszerzeniem Microsoft używanym tylko w Managed C++. Odgłosami, które spowodowałeś, że kompilator /clr włącza się przez pomyłkę podczas tworzenia projektu. Jeśli chcesz tylko tworzyć prawdziwe programy w C++, powinieneś to cofnąć.

+1

tak, bit "public ref" nie jest standardem C++ – Steg

+1

Wybranie niewłaściwego typu projektu w Visual Studio może automatycznie przełączać/clr on, bez zdawania sobie z tego sprawy. Chciałem stworzyć nową bibliotekę DLL i w końcu popełniłem ten błąd. Zamiast tego powinienem użyć typu projektu Win32 Console Application, który nie był dla mnie oczywisty jako początkującego. Aby uzyskać więcej informacji, zobacz [tę stronę MSDN] (http://msdn.microsoft.com/en-us/library/ms235636.aspx). – Ben

5

Czytasz rozmowy książka C++ Primer który uczy języka programowania C++, podczas gdy próbujesz stworzyć program informujący VC++ kod jest w C++/CLI, inny język programowania ....

+1

+1 Programowanie w tym samym języku, którego się uczysz, zwykle pomaga. –

1

Czy uczysz się standardowego języka C/C++? Jeśli odpowiedź brzmi tak, to, że składnia jest dotyczącą języka Microsoft C++/CLI ...

spojrzenie: C++/CLI

próbować używać Eclipse z rozszerzeniem zamiast C++. Zawiera wszystko, czego potrzeba do stworzenia i uruchomienia programu STANDARD C++!

Eclipse download

+4

Czyta książkę w języku C++, więc przypuszczam, że uczy się C++. Dlaczego ogłoszenie o Eclipse? VC++ to doskonałe narzędzie IDE/kompilator do tworzenia programu C++ w systemie Windows. Musisz tylko upewnić się, że wybierasz odpowiednie typy projektów. Problem, który nadal występuje w Eclipse, jeśli ktoś zdecyduje się wybrać, mówi projekt Java, a następnie próbuje napisać program w języku C++. – KTC

+3

@KTC: Ponieważ VC++ aktywnie odsyła cię od ścieżki ISO C++. "Bezpieczny" CRT, ktoś? – EFraim

3

You (EDIT: i innych użytkowników) oznaczonych na to pytanie:

języków programowania
  • Dwa : C++ i C++/CLI,
  • komercyjnym Zintegrowany program Developme nt Środowisko (IDE) firmy Microsoft: Visual C++, które umożliwia programowanie w trzech różnych językach (C, C++ i C++/CLI). W poście wspominasz o Microsoft Visual Studio 2008, która jest nadzbiorem Visual C++.
  • Jeden zestaw rozszerzeń języka: Managed C++, który historycznie skieruję się sporo różnych rzeczy i, szczerze mówiąc, nie jestem pewien, co to znaczy teraz :)

Jednakże, pierwszym celem powinno być dowiedzieć się, jak skonfigurować Visual C++ do programu w języku wybranym, C++.

Jak zwykle dobrym sposobem, aby znaleźć odpowiedź na to pytanie, jest wpisanie go na stronie "Zadaj pytanie" i zobacz, jakie powiązane pytania są sugerowane. To jest najlepszy, myślę: compiling "standard" C++ in visual studio (non .net).

+3

* AProgrammer ponownie zmapował pytanie dodając C++/CLI po przeczytaniu pytania. PO nie wiedział o tym. – KTC

+0

Ups, dziękuję KTC. –

Powiązane problemy