预期在令牌之前的未合格ID

Expected unqualified-id before token

本文关键字:ID 令牌      更新时间:2023-10-16

编辑:我查看的网站之一使我相信我的语法是正确的:http://www.cprogramming.com/tutorial/templates.htmplates.html

我在Google周围探索了很多交易,然后再来到这里问这个问题,因为我可以说,根据我所见过的示例,我已经正确编写了东西。对于家庭作业,编写一个模板类,该类别从事一些非常基本的数学工作(总和,平均,最小,最大等)。当我尝试编译尝试开始调试时,我最终会出现以下错误。

error: expected unqualified-id before '<' token

以下是在错误的块之前,有些剪切的代码,原型和几行。该代码将误差扔到第二行(以Lessthansymbol mytype origethansymbol开头的误差)。我敢肯定,一旦我超越了这个程序,我将有更多的事情可以调试该程序,但这完全使我迫在眉睫。

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()