boost nullptr

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0

witam, jak mogę dodać z boosta nullptr?
bo wyskakuję nullptr not declared

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

Zapewne chodzi o nullptr z c++11
Musisz włączyć to w opcjach kompilatora/IDE

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pomorskie (Stare Kabaty)
1

Przypuszczam że kompilujesz GCC jeśli linux.. Dodaj po prostu do polecenia którym kompilujesz -std=c++0x albo -std=c++11...

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poland
  • Postów: 266
0
Proxima napisał(a):

Przypuszczam że kompilujesz GCC jeśli linux.. Dodaj po prostu do polecenia którym kompilujesz -std=c++0x albo -std=c++11...

no działa ale nie do końca wywala pod koniec kompilacji errora

Kopiuj
 player.cpp: In member function 'void Player::addSkillTryInternal(int32_t, int32_t)':
player.cpp:1216:58: error: narrowing conversion of '((Player*)this)->Player::skills[skill][0]' from 'uint32_t {aka unsigned int}' to 'int32_t {aka int}' inside { } [-Werror=narrowing]
player.cpp:1216:89: error: narrowing conversion of '(((Player*)this)->Player::skills[skill][0] + 1u)' from 'uint32_t {aka unsigned int}' to 'int32_t {aka int}' inside { } [-Werror=narrowing]
cc1plus: all warnings being treated as errors
make: *** [player.o] Error 1
make: *** Waiting for unfinished jobs....

w makefile mam tak

ENDFLAGS=-std=c++0x -Werror -Winvalid-pch -CC -O2 -ggdb -g3 -s -include "preheaders.h"

PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pomorskie (Stare Kabaty)
1

To właściwie nie jest związane z nullptr nawet. Gdzieś w nieswoim kodzie masz konwersje z uinta do inta, chamski fix to dodać -Wno-narrowing ale czy to będzie działać to nie mam zielonego pojęcia.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
2

Dla indeksów tablic zamiast int32_t powinieneś używać size_t o tym mówią te błędy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.