我没有使用的函数被编译器捕获为"not declared in scope" (c++)

A function I am not using is being caught by the compiler as "not declared in scope" (c++)

本文关键字:declared not in scope c++ 编译器 函数      更新时间:2023-10-16

首先,我从来没有在这里问过问题,所以如果我没有提供足够的细节或其他东西,请原谅我。如果您需要更多的信息,请询问,我将尽力提供。此外,请注意,大部分代码来自大学教科书(准确地说,除了infixToPostfix.h之外的所有.h文件),这些文件经过了一些编辑。

这是我得到的错误屏幕:

[user@penguin djrlab4]$ make
g++ lab4.cpp -o Lab4
linkedListType.h: In member function âType linkedListType<Type>::front() const [with Type = char]â:
myStack.h:45:   instantiated from âType myStack<Type>::top() const [with Type = char]â
infixToPostfix.h:65:   instantiated from here
linkedListType.h:151: error: âassertâ was not declared in this scope
make: *** [Lab4] Error 1

现在,当我第一次尝试编译这个时,在行上它指示,我正在使用assert函数,但它不起作用,即使在我添加了#include <cassert>之后,所以我决定改变函数。当我之后尝试编译时,它给出了错误屏幕,好像我仍然试图使用assert..我想弄明白这件事已经有一段时间了,可就是搞不懂。

我正在使用g++编译器,这是在我学校的服务器上。我使用SSH客户端传输文件并在远程服务器上编译它们。如果您需要有关编译器的更多信息,请告诉我应该如何尝试获得它,因为我不知道。

谢谢!

我刚刚在我的机器上编译好了你所有的文件。原因可能是您没有正确地将所有文件复制到远程机器上。

在编译时确保文件是正确的。如果你没有访问GUI使用cat <filename>检查其内容。

如果你运行的是windows,尝试使用WinSCP将整个文件夹转移到你的学校帐户并运行g++ lab4.cpp如果你有Mac,你可以直接从终端运行g++