c++ - 对此 cpp 代码使用 cl.exe (Visual Studio 2008) 编译错误

标签 c++ visual-studio compiler-construction

我在这段代码中遇到编译错误

    #include<iostream>
    #include<cstdio>
    #include<string>
    using namespace std;
    void main(int argc,char *argv[])
    {
        int i;
        for(i = 0;i<10;i++)
           fprintf(cout,"%d\n",i);
        fprintf(cout,"abc:\n");
        string s;
        cin>>s;
        if(s == "resume") { 
            for(i = 0;i<10;i++)
            fprintf(cout,"%d\n",i);
        }
   }

Microsoft (R) 32 位 C/C++ 优化编译器版本 15.00.21022.08 for 80x86 版权所有 (C) Microsoft Corporation。保留所有权利。

尝试.cpp C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342):警告 C 4530:使用了 C++ 异常处理程序,但未启用展开语义。指定 /EHsc

try.cpp(9):错误 C2664:“fprintf”:无法从“std::osr”转换参数 1 eam' 到 'FILE *' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator

try.cpp(10):错误 C2664:“fprintf”:无法从“std::ost”转换参数 1 令'到'文件*' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator

try.cpp(16):错误 C2664:“fprintf”:无法从“std::ost”转换参数 1 令'到'文件*' 没有可以执行此转换的可用用户定义转换运算符 ersion,或者无法调用operator

怎么了?

最佳答案

您正在混淆 C++ 和 C 输出样式。将您的 fprintfs 更改为如下所示:

cout << "value is: " << i << "\n";

关于c++ - 对此 cpp 代码使用 cl.exe (Visual Studio 2008) 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/642618/

相关文章:

c# - 使用不同的配置调试同一项目的 2 个以上实例

c - 尽可能少地制作二进制文件

c++ - 静态库 LNK2019 中的 _tWinMain

c++ - ISR 中使用的循环缓冲区声明为 volatile ,会产生错误。为什么 ?如何解决这个问题?

c++ - 列表 push_back C++ 期间未处理的异常

c++ - 观察者模式实现

c# - 控制台项目和winforms项目在同一个解决方案中

c# - 获取事件的 Visual Studio 对象

compiler-construction - 使用 Mathematica 理解编译器优化 : accessing definitions created using SetDelayed?

c - 带有 Xcode 4.3.2 的 Mac OS X Lion 上的 Flex 和 Bison