如何正确使用C+中没有输入参数的void函数+; 我对C++很陌生。我需要制作一个小应用程序,读取txt文件的内容,然后在控制台中显示内容。我有三个点组成一个三角形,稍后我会画出来。我想在一个名为read2dFile的函数中执行所有这些操作,因此我的main实际上是空的(函数调用除外)。当我在另一个项目的main中尝试这段代码时,一切都很正常。我的函数似乎没有正确声明。这是我的密码: **Test.cpp** (FOR THE MAIN) // Test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "read2dFile.h" int main() { read2dFile(); return 0; }

如何正确使用C+中没有输入参数的void函数+; 我对C++很陌生。我需要制作一个小应用程序,读取txt文件的内容,然后在控制台中显示内容。我有三个点组成一个三角形,稍后我会画出来。我想在一个名为read2dFile的函数中执行所有这些操作,因此我的main实际上是空的(函数调用除外)。当我在另一个项目的main中尝试这段代码时,一切都很正常。我的函数似乎没有正确声明。这是我的密码: **Test.cpp** (FOR THE MAIN) // Test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "read2dFile.h" int main() { read2dFile(); return 0; },c++,lnk2019,C++,Lnk2019,read2dfile.h(用于函数头) \ifndef READ2DFILE\u H_ #定义READ2DFILE\u H_ #包括 #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; void read2dFile(); #恩迪夫 read2dFile.cpp(用于功能代码) #包括“read2dFile.h” int行=0; int col=0; void read2dFile(){ 弦线; int x; int数组[100][100]={{0}; 字符串文件名; ifs

read2dfile.h(用于函数头)

\ifndef READ2DFILE\u H_
#定义READ2DFILE\u H_
#包括
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
void read2dFile();
#恩迪夫
read2dFile.cpp(用于功能代码)

#包括“read2dFile.h”
int行=0;
int col=0;
void read2dFile(){
弦线;
int x;
int数组[100][100]={{0};
字符串文件名;
ifstreamfilein;
//介绍
库特

我有一些建议(你的代码对我来说编译得很好)

不是针对你的问题,但是你应该学习<代码>类< /代码>,并使C++中的生命更容易。
  • 这些是您的
    read2dFile()
    函数所需的唯一包含文件。请将它们放入read2dFile.cpp!原因是,除非绝对必要,否则您不希望在其他标题中包含标题
  • 这些指令将位于read2dFile.cpp的顶部

    #include <iostream>
    #include <iomanip>
    #include <fstream>
    #include <string>
    #include <sstream>
    
  • 您的read2dFile.h现在已缩减为您的函数声明
  • 文件现在看起来像这样

    #ifndef READ2DFILE_H_
    #define READ2DFILE_H_
    
    void read2dFile();
    
    #endif
    

    您的
    main()
    可以保持原样,如果它仍然对您不起作用,请尝试删除预编译头指令
    #include“stdafx.h”
    来自您的Test.cpp源文件。这里不需要它,有时会在某些情况下导致编译器错误。

    在头文件范围内不使用指令!当您在这个项目中尝试它时,有什么不好?您似乎忘记了描述问题并实际提出了一个问题。您希望每个人都这样做吗猜猜出了什么问题,因为你不想告诉我们?我对C++是很新的,但是你的问题是什么?我建议你先点击其中一些开始。尽量不要把不必要的内容加入到程序中(特别是在头文件中)。哈哈:)2同意3同意4同意1:)不同意:)我认为他来自纯C或者他正在读一些从程序人员开始的书。代码仍然无法构建。我使用VS 2017社区。消息错误为1>----构建已启动:项目:测试,配置:调试Win32----1>Test.obj:错误LNK2019:未解析的外部符号“void”\uuuu cdecl read2dFile(void)”(?read2dFile@@YAXXZ)在函数\u main 1>C:\Users\milan196\Desktop\Test\Test\Debug\Test.exe中引用:致命错误LNK1120:1未解析的外部1>完成构建项目“Test.vcxproj”--失败。生成:0成功,1失败,0最新,0跳过我在生成之前做了所有建议的更改,但仍然不起作用。当我在main中测试算法时,一切正常。很抱歉,我认为这很明显,但我应该明确。您必须
    #包括“read2dFile.h”"
    在Test.cpp和read2dFile.cpp中都可以。如果它仍然不起作用,那么项目配置中的某些内容是错误的,因此请使用干净的项目工作区从头开始。我启动了一个新的空项目,现在一切正常,只是在执行结束时我不能让控制台保持打开状态。不过,我可以接受它一段时间现在,谢谢你的时间!问题解决了。
    #include <iostream>
    #include <iomanip>
    #include <fstream>
    #include <string>
    #include <sstream>
    
    using std::string;
    using std::ifstream;
    using std::cout;
    using std::endl;
    using std::cin;
    using std::cerr;
    using std::istringstream;
    using std::left;
    using std::setw;
    
    #ifndef READ2DFILE_H_
    #define READ2DFILE_H_
    
    void read2dFile();
    
    #endif