C++ 错误-“;表达式必须具有类类型“quot;”c++;

C++ 错误-“;表达式必须具有类类型“quot;”c++;,c++,C++,我有自己的LinkedList类,当我在main中创建实例时,会出现“expression must have class type”错误。 LinkedList类中有默认的c'tor 所以当我尝试这样做时: LinkedList<Animal> aL(); for (int i = 0; i < numOfAnimals; i++) { aL.addLast(*animals[i]); } cout <<

我有自己的LinkedList类,当我在main中创建实例时,会出现“expression must have class type”错误。 LinkedList类中有默认的c'tor

所以当我尝试这样做时:

    LinkedList<Animal> aL();

    for (int i = 0; i < numOfAnimals; i++)
    {

        aL.addLast(*animals[i]);
    }

    cout << aL << endl;
LinkedList aL();
for(int i=0;i
LinkedList<Animal> aL();
或者,如果您希望如此明确,可以使用C++11中的大括号

LinkedList<Animal> aL{};
LinkedList aL{};
或者,如果您非常喜欢函数调用语法,您可以

LinkedList<Animal> aL = LinkedList<Animal>();
LinkedList aL=LinkedList();
甚至

auto aL = LinkedList<Animal>();
auto aL=LinkedList();

这是“最麻烦的解析”的一个实例
LinkedList aL()--这是一个函数声明。仔细看一看。@VittorioRomeo据我所知,术语“最麻烦的解析”指的是更复杂的变体,如
a(B())
@lisyarus-考虑到这不是一个官方术语,而是一个口语术语,我不明白为什么不扩展它。“如果一个人不习惯,这一切都会很烦人的。”莉莎鲁斯——不麻烦。俗语经常变换,并且随着使用而变化。
LinkedList<Animal> aL = LinkedList<Animal>();
auto aL = LinkedList<Animal>();