cstdio и cstddef конфликтуют на std :: size_t

test.cpp

#include <cstdio>
#include <cstddef>
using std::size_t;

Скомпилировать:

 >  g++ -c test.cpp -o test.o
In file included from /.../include/stdio.h:75:0,
from /.../gcc/include/c++/cstdio:42,
from test.cpp:1:
test.cpp:3:12: error: expected unqualified-id before ‘int’
using std::size_t;
^
test.cpp:3:12: error: expected ‘;’ before ‘int’
test.cpp:3:12: error: declaration does not declare anything [-fpermissive]

Если бы я только удалить #include <cstdio>все работает нормально.
Но если я только удалю #include <cstddef>, та же ошибка выскакивает.
Если я удаляю оба:

 >  g++ -c test.cpp -o test.o
test.cpp:1:12: error: ‘std::size_t’ has not been declared
using std::size_t;
^

Мне нужно, чтобы обе библиотеки были включены, а также std::size_t использоваться.
Что мне делать в этой ситуации? Должен ли я добавить некоторые CXXFLAGS?

Моя версия gcc 4.8.5.

 >  g++ --version
g++ (GCC) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ОБНОВИТЬ:

Я пробовал системный GCC по умолчанию: /usr/bin/g++ошибка ушла.
Так что виноват должен быть gcc анаконды. Я подниму вопрос для группы.
Спасибо вам всем.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]