0

我有一堂C++课,老师说我们必须使用本书附带的程序。这本书随 Visual Studio 98 一起提供。我无法让它与我的 Windows 8 笔记本电脑一起工作。有没有办法可以使用 Visual Studio 2010 来完成这项工作。我已将目录添加到项目中,但它仍然不想使用 iostream 文件。我什至添加了“使用命名空间标准;” 到它,我仍然得到它的错误。任何帮助将不胜感激。

我要感谢大家的帮助。感谢大家,我现在有了一个工作平台。我刚刚添加了“#include”stdafx.h“,”using namespace std;“,禁用了预编译的头文件,并将项目指向带有头文件的文件夹。我将尝试提出过期课程的问题对于愿意倾听的人,但我有一种感觉,它会像以前一样被置若罔闻。

4

4 回答 4

4

您正在尝试解决错误的问题。所有领域的学者都倾向于年复一年地教授相同的课程。他们教他们学到的东西(旁注,拼写检查器不知道学到的是学习的过去式,认为应该学习:)当他们还是学生时,因为那显然是成功的(这使他们走到了现在的位置) . 即使对于更传统的主题,这是有缺陷的,但对于较新的技术,它是致命的缺陷。

请注意,为了保持自 Visual Studio 98 以来 C++ 没有任何变化(其 C++ 实现——必然——在 1998 年 C++ 标准之前),老师有效地承认,自从 C++ 首次标准化以来,她/他对 C++ 一无所知1998. 你和你的同学们并没有注册(并花钱)学习一种古老的标准 C++ 方言。

作为个人,面对教师所属的部门,您将无法做任何事情。为了带来改变,你需要团结起来,让你的整个班级采取行动。那么问题将是你在政治上能做到的精明程度。公开谴责老师和部门不太可能是最好的第一步,尽管将其作为一种选择可能是良好行动计划的一部分。

顺便说一句,如果课程是关于 C++ 的,那么它不应该依赖于单一的专有实现,尤其是在过去 15 年被冻结的实现。

最后的评论。从 Windows 7 开始,Microsoft 停止支持基于 16 位的代码,并且仅在专业版中为早期 32 位版本的 Windows(确实支持 16 位软件)提供模拟器。因为我有许多 16 位实用程序支持我教授桥牌游戏,所以我必须升级到 Windows 7 专业版才能继续使用这些程序。我强烈怀疑,如果您尝试在 Windows 8 上运行 Visual Studio 98 附带的运行时和库,它们会出现根本问题。

祝您取得圆满成功

弗朗西斯

于 2013-06-10T10:16:59.550 回答
0

在 Visual Studio 中,编辑项目的属性并关闭预编译标头。

于 2013-06-10T07:01:58.197 回答
0

这适用于 Visual Studio 2010,坦率地说应该适用于任何现代 C++ 编译器。它是从您上面的评论中复制的,并针对现代 C++ 进行了修改:

#include <iostream>
using namespace std;
int main()
{
    cout << "**" << endl;
    cout << " * " << endl;
    cout << " *** **" << endl;
    cout << " * " << endl;
    cout << "**" << endl;
    return 0;
}

如果这对你不起作用,你可能没有正确安装 VS2010。您是否仍然看到“错误生成 cl.exe”?

于 2013-06-10T01:54:33.160 回答
0

作为一个快速的临时修复,您可以创建一个iostream.h以此内容命名的文件:

#include <iostream>
using namespace std;

这可能会修复大部分书籍示例。

但是,正如其他人指出的那样,您处于不公平的境地,如果可以,可能会尝试改善它。如果该课程被称为“C++”并且您为此付费,那么该机构正在向您运送腐败货物。申请退款或修复。如果涉及到这一点,您可以赢得诉讼。我猜导师的老板不会对此感到高兴,并且可能会受到激励。

如果该课程被称为编程历史,并且实际上必须使用规定的工具,请向该机构寻求帮助以在您的笔记本电脑上设置步行历史。(实际上我希望它可以正常工作,它肯定可以在 XP 上工作,所以在极端情况下,您可以在 XP 兼容性中进行设置)。如果您遇到困难,请寻求监察员的帮助。

如果这只是一些随机的 WTF 讲座,那你就不走运了。

于 2013-06-10T01:22:42.450 回答