Я получаю эту ошибку при использовании stl_vector.h
. Я использую g ++ для компиляции в Linux.
{
if (max_size() - size() < __n)
__throw_length_error(__N(__s));
const size_type __len = size() + std::max(size(), __n); //THE ERROR IS ON THIS LINE!
return (__len < size() || __len > max_size()) ? max_size() : __len;
}
usr / include / c ++ / 4.5 / bits / stl_vector.h: 1143: 40: ошибка: ожидаемый неквалифицированный идентификатор до ‘(’
токен
Я не уверен, почему я получаю эту ошибку, я много искал и нашел "похожие" проблемы, но не могу решить мою.
РЕДАКТИРОВАТЬ: так вот журнал ошибок:
In file included from /usr/include/c++/4.5/vector:65:0,
from ../../RL_Toolbox/include/caction.h:34,
from ../../RL_Toolbox/include/cagent.h:35,
from shortestpathQLearning.cpp:42:
/usr/include/c++/4.5/bits/stl_vector.h:1143:40: error: expected unqualified-id before ‘(’ token
Вы можете видеть в предыдущем журнале ошибок, что "вектор" вызывается заголовком "caction.h" следующим образом:
//THESE ARE THE INCLUDES IN "caction.h"
#ifndef CACTION_H
#define CACTION_H
#include <stdio.h>
#include <vector> //HERE IT CALLS <vector>
#include <list>
#include <map>
#include "cbaseobjects.h"
тогда Vector вызывает bits / stl_vector.h примерно так:
#ifndef _GLIBCXX_VECTOR
#define _GLIBCXX_VECTOR 1
#pragma GCC system_header
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_vector.h>//HERE IT CALLS stl_vector.h
#include <bits/stl_bvector.h> //Im actually getting the exact same error from stl_vector.h on this header
только последние 2 заголовка из вектора (stl_vector и stl_bvector) дают мне точно такую же ошибку, с остальными все в порядке. Есть идеи?
Заранее спасибо за помощь.