使用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: error: expected unqualified-id before
‘(’
token
我不知道之前不合格-ID爲什麼我「M收到這個錯誤,我尋覓了一番,發現一些‘相似’的問題,但我解決不了我的
編輯:所以這裏的錯誤日誌:
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"
然後調用矢量位/ 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
只是從矢量(stl_vector和stl_bvector)的最後2個標題給我完全相同的錯誤,其餘都是好的。有任何想法嗎?
在此先感謝您的幫助。
你碰巧有個#define max或類似的地方嗎? – user786653
只是猜測,但嘗試刪除常量。 – Dabbler
你是直接包含'stl_vector.h'還是包含'vector'頭文件 –