C++跨文件调用函数后cout无输出,求排查代码问题
问题分析与解决
你的代码存在两个关键问题:
1. 函数调用语法错误
在main.cpp的main函数中,你写的是:
firstPractical;
这只是引用了函数的名称(本质是获取函数指针),并没有调用这个函数。正确的函数调用语法需要加上括号:
firstPractical();
2. 编译命令未包含所有源文件
你当前的编译命令只编译了main.cpp,没有把firstPractical.cpp加入编译流程:
g++ main.cpp -o main
这会导致链接阶段无法找到firstPractical函数的具体实现(即便头文件有函数声明,编译器也需要拿到函数的实现代码才能生成完整可执行文件)。正确的编译命令应该包含所有相关的.cpp文件:
g++ main.cpp firstPractical.cpp -o main
修正后的效果
修改上述两处问题后,重新编译运行,就能得到预期输出First Practical。
内容的提问来源于stack exchange,提问作者Hussain Gandhi
相关产品推荐
相关产品推荐

