#programowanie #cpp

Miałem dziś ciekawą przygodę z C++. Może jest mi ktoś w stanie to wyjaśnić.

Tworzyłem instancję jakiejś klasy która miała zwykłe pole typu bool, a w zasadzie strukturę booli. Podczas ustawiania różnych parametrów w metodzie, przyjmijmy, Init(), ustawiałem jakieś wartości dla tych booli. Po wyjściu z metody Init() wykonywał się inny (nie mój) kod, a następnie w kolejnej iteracji pętli głównej programu wywołuję po raz pierwszy kolejną metodę,
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ginden: @bartoneczek: @progresywnyRegres:

Nie ma takiej możliwości, żeby zagregowana struktura zmieniła adres, jeśli nie zmienił się adres struktury, która ją agreguje. W C++ wszystko siedzi na offsetach i jest po prostu zabite na amen po linkowaniu.

Skłaniałbym się ku wyjaśnieniu @progresywnyRegres: w czym przechowujesz tą strukturę? Bo jeśli w jakimś wektorze/mapie (czyt: na stercie), to jej adres najprawdopodobniej się zmienił. Sprawdź w takim wypadku
  • Odpowiedz
Ok, coś mi się stało z Visual studio.

Jakiś czas temu normalnie pisałem w C, potem w C++ i nie było żadnego błędu. Teraz muszę jakiś program napisać w C.

No i się zaczynają schody.

1.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp co robię źle jeżeli g++ krzyczy że nie wie jak rzutować obiekt na referencję?

np.

klasa.h:92:21: note: no known conversion for argument 1 from 'klasa' to 'klasa&'


czyżbym
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

The function (.at) automatically checks whether n is within the bounds of valid elements in the vector, throwing an out*of*range exception if it is not (i.e., if n is greater or equal than its size). This is in contrast with member operator[], that does not check against bounds.
  • Odpowiedz
Z drugiej strony używanie operatora tablicowego pozwala pisać taki kod, w którym jesteś w stanie zamienić wektor innym kontenerem, czy nawet zwykłą tablicą.


@noisy: A uƶywanie iteratora pozwoli na uƶycie tego samego kodu jeśli tylko

::value_type
się zgadza ;)
  • Odpowiedz
@sebpot: Dodaj, ƶe najtańsza wersja to $100 na pół roku. Testowałem z 100% funkcjonalnym trialem i wcale VAX mnie ne poraził w stosunku do QtC. Tylko debugger zdecydowanie lepszy w VS.
  • Odpowiedz
#pytanie odnośnie #cpp jak i rozszerzenia #amx używanego w #pawn

Czy ktoś, ktokolwiek, wie jak można zrobić sprawdzanie, czy funkcja ma nielimitowaną liczbą argumentów? Przykładowo jest:

native SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
I teraz tak:
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#cpp #programowanie

zastanawiam sie jak napisac funkcje ktora z cyfr 0 i 1 zwroci mi dziesiec, ale nie tak, ze dzisiec razy dodam do siebie 1, tylko jakby z graficznej reprezentacji. Macie jakies pomysly?
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Uczę się pisania programów przy użyciu Qt i trafiłem na dziwny problem. Wstawienie w projekcie:

#include

Powoduje ponad 1000 błędów takich jak "stray '211\' in program", w drugim, równolegle otwartym projekcie to samo nie powoduje błędu i wszystko można skompilować. Co może być przyczyną?

#qt #cpp
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach