使用某些数据结构时,C++ 代码不会在 Visual Studio Code 中输出

革命性的香橼

我在 Visual Studio Code 中遇到了一个奇怪的错误 - 我正在使用标准扩展(C/C++ 扩展包)在 C++ 中编写代码,如果我编写这样一个简单的程序,它可以正常工作:


int main() {
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif

    cout << "Hello World!" << endl;
}

但是,第二次我使用 STD 包含语句(例如 a mapvector等)声明变量时,代码运行没有错误,但不打印任何内容。

int main() {
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif

    vector<int> test;
    cout << "Hello World!" << endl; // this no longer prints
}

任何想法为什么会发生此错误?我也有我需要的所有包含语句:

#include <bits/stdc++.h>  
#include <complex>
#include <queue>
#include <set>
#include <unordered_set>
#include <list>
#include <chrono>
#include <random>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <map>
#include <unordered_map>
#include <stack>
#include <iomanip>
#include <fstream>

using namespace std;
西蒙·史密斯

我测试了您的代码,它按预期运行。

一些想法:

  • ONLINE_JUDGE未定义时,freopen("output.txt", "w", stdout);使输出重定向到output.txt. 也许您在第二次运行程序时忘记检查文件而不是控制台。
  • 此外,由于您使用的是 Visual Studio Code,也许您使用了扩展程序来运行您的程序。该扩展可能不会使用您当前的工作目录来运行该程序,这使得output.txt其他地方。另外,检查是否ONLINE_JUDGE由扩展程序或您的脚本设置。

顺便说一句,如果您使用 g++,#include <bits/stdc++.h>将包含标准库的所有头文件,并且不需要包含其他头文件。但是这样做会大大增加你的编译时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++相同的代码永远不会在Visual Studio中编译/运行,有时甚至不会在Qt Creator中运行

更新ParameterSyntaxList不会在Visual Studio中更新代码吗?

Visual Studio Code不会在PHP Xdebug中的断点处停止

Visual Studio Code 不会在 JavaScript 中添加函数括号

Heroku不会在Visual Studio Code中加载

Visual Studio Code调试不会在断点处停止

CMAKE不会在Visual Studio中创建INSTALL项目

Visual Studio Code中C代码的行长

Visual Studio Code PHP Debug不会在Docker项目的断点处停止

为什么 Visual Studio Code 更新不会在 20.04 上运行?

Visual Studio 2013不会在错误的代码行上停止

解决方案探索中的区域选项不会在Visual Studio 2019中显示

JSON解组不会在我的代码中输出,可在goplayground中使用

异步不会在Visual Studio 2015中调用move构造函数

引用不会在 Visual Studio 2005 中自动添加

从Visual Studio启动时,C#ReleaseMutex()不会在控制台应用程序的多个实例中释放互斥量

调试时如何使Visual Studio 2019不会在try语句内破译?

Visual Studio 2019不会在项目打开时提取所需的Docker映像

除非选择了项目,否则Visual Studio不会在生成时保存更改

C# 程序不会在 Visual Studio 之外作为 .EXE 启动

SyncFusion SfChart 不会在 iOS 模拟器(白屏)中呈现,但会在 Visual Studio Preview 中显示?

运算符重载会在Visual Studio 2013中编译,但不会在gcc中编译

参考或需要其他文件时,Visual Studio 2019中的Node JS应用的Mocha不会在测试资源管理器中显示测试

在Visual Studio Code中运行代码时遇到问题

在Visual Studio Code中调试SFML代码时出错

在 Visual Studio Code 中编译 Hello World C++ 代码

Visual Studio Code中没有C#代码分析

如何在Visual Studio Code中修改C ++的代码格式?

由于错误,c++ 代码不会在 Visual Studios 上运行,但未显示任何错误