dream_leaves 2020-09-14 21:25 采纳率: 66.7%
浏览 773
已采纳

vs 2017 同一代码在同一项目下创建的两个不同cpp文件中,为什么会一个报错(Link 2019),一个正常运行?

代码是c++ primer pluse里面的8.8。

#include<iostream>
#include<fstream>
#include<cstdlib>

using namespace std;

void file_it(ostream & os, double fo, const double fe[], int n);

const int LIMIT = 5;
int main()
{
    ofstream fout;
    const char *fn = "ep-data.txt";
    fout.open(fn);

    if (!fout.is_open())
    {
        cout << "can't open " << fn << ". bye.\n";
        exit(EXIT_FAILURE);
    }

    double objective;
    cout << "enter the focal lenght of your telescope objective in mm:";
    cin >> objective;
    double eps[LIMIT];

    cout << "enter the focal lengths, in mm , of " << LIMIT << " eyepieces:\n";

    for (int i = 0; i < LIMIT; i++)
    {
        cout << "eyepiece #" << i + 1 << ": ";
        cin >> eps[i];
    }

    file_it(fout, objective, eps, LIMIT);
    file_it(cout, objective, eps, LIMIT);
    cout << "done!\n";
    system("pause");
    return 0;
}

void file_it(ostream & os, double fo, const double fe[], int n)
{
    ios_base::fmtflags initial;
    initial = os.setf(ios_base::fixed);
    os.precision(0);
    os << "focla length of objective: " << fo << " mm\n";
    os.setf(ios_base::showpoint);
    os.precision(1);
    os.width(12);
    os << "f.l. eyepiece";
    os.width(15);
    os << "magnifiction" << endl;
    for (int i = 0; i < n; i++)
    {
        os.width(12);
        os << fe[i];
        os.width(15);
        os << int(fo / fe[i] + 0.5) << endl;
    }

    os.setf(initial);
}

同一项目下有一个8.8.cpp以及test.cpp

在8.8.cpp下运行就会报错,而在test.cpp下运行就正常。
(运行的时候其它cpp都注释掉了)

图片说明

图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-09-14 23:55
    关注

    不要把一堆源代码放在一个项目下面,相反,每次写程序都应该新建一个项目(project)而不是在原有项目中直接添加cpp
    你这个错误是链接器设置的程序入口点错误,需要在项目-属性-链接器里面配置,修改为win32:console系统,以及你的main函数。
    但是更简单的是,直接新建一个项目,再把这个代码贴进去。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 10月24日

悬赏问题

  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA