boost nullptr

0

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

0

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

1

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

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

 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"

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.

2

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1