[英]Expected unqualified-id before token
編輯:我看過的站點之一使我相信我的語法是正確的: http : //www.cprogramming.com/tutorial/templates.html
在我來問這個問題之前,我已經在Google周圍進行了很多探索,因為據我所知,我已經根據所看到的示例正確地編寫了東西。 對於家庭作業,編寫一個模板類,該類做一些非常基礎的數學運算(求和,平均值,最小值,最大值等)。 當我嘗試編譯以嘗試開始調試時,最終出現以下錯誤。
error: expected unqualified-id before '<' token
以下是一些被截斷的代碼,原型以及出錯的代碼塊之前的幾行。 該代碼在第二行上引發錯誤(以lessthansymbol myType開頭的代碼大於somesymbol)。 我敢肯定,一旦我克服了這個麻煩,我將有更多的東西要用該程序進行調試,但是此刻完全讓我停滯不前。
template <class myType>
class simpleSet
{
public:
static const int VALUE_MAX = 1000;
static const int CNT_MIN = 10;
static const int CNT_MAX = 500;
simpleSet();
simpleSet(int, myType[]);
~simpleSet();
void gnomeSort();
void generateNewSet(int);
myType minimum() const;
myType maximum() const;
myType median() const;
myType sum() const;
myType average() const;
myType linearRegression(const simpleSet&) const;
myType getDatum(int) const;
void setDatum(int, myType);
int getLength() const;
void printSet() const;
int readCount();
private:
int setLength;
myType *mySet;
};
template <class myType>
void simpleSet<myType>::generateNewSet(int size)
{
setLength = size;
for (int i = 0; i < setLength; i++)
{
mySet[i] = static_cast<myType>((myType(rand()%VALUE_MAX)));
if (mySet[i] < 1 || mySet[i] > VALUE_MAX)
{
i--;
continue;
}
}
}
template <class myType>
<myType> simpleSet<myType>::maximum() const
{
myType worker = mySet[0];
for (int i = 0; i < setSize; i++)
{
if (worker < mySet[i]) worker = mySet[i];
}
return worker;
}
template <class myType>
<myType> simpleSet<myType>::minimum() const
{
myType worker = mySet[0];
for (int i = 0; i < setSize; i++)
{
if (worker > mySet[i]) worker = mySet[i];
}
return worker;
}
template <class myType>
<myType> simpleSet<myType>::median() const
{
if (setSize == 1) return mySet[0];
else if ((setSize % 2) == 1) return (mySet[(setSize/2)]);
else return (average((mySet[setSize/2] + mySet[(setSize/2)-1])));
}
template <class myType>
<myType> simpleSet<myType>::sum() const
{
myType temp;
for (i = 0; i < setSize; i++) temp = temp + mySet[i];
return temp;
}
template <class myType>
<myType> simpleSet<myType>::average() const
{
return (mySet.sum()/setSize);
}
template <class myType>
<myType> simpleSet<myType>::getDatum(int item) const
{
return(myset[item]);
}
您不需要所有返回值都<myType>
。 只是myType
(沒有尖括號)也不需要在類范圍內包括<myType>
(即myType simpleSet::median()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.