C++编译报错:||error: ld returned 1 exit status|的解决

 更新时间:2024年01月01日 09:54:40   作者:doubleslow;  
这篇文章主要介绍了C++编译报错:||error: ld returned 1 exit status|的解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C++编译报错||error: ld returned 1 exit status|

这个问题我遇到过三次了,每次好像原因都不一样,在网上看到很多博客都记录了这个问题,每人原因也都不同,所以可以有多种原因都引发这个错误。

但我不懂ld returned 1 exit status|到底是啥意思,所以不能解读这些问题的相通的共同毛病,但我觉得这肯定是什么比较致命的错误,即找不到病根,那就只好从现在开始专门记录一下各种症状

在头文件中定义变量

今天脑子一昏,竟做出此举,我很惭愧。

我把外部变量的定义竟写到了头文件中, 于是报错。

然而外部变量可以放在任何源代码文件中,只要写在所有函数外面就行,就是不能放在头文件中。。。

我是个人才

错误代码:

//coordin.h
#ifndef COORDIN_H_
#define COORDIN_H_
double warming = 0.3;//外部变量/全局变量的定义声明,应删掉这句代码
void update(double);
void local();
#endif // COORDIN_H_
//main.cpp
#include <iostream>
#include "coordin.h"
extern double warming;//应改为外部变量/全局变量的定义声明:double warming = 0.3;

int main()
{
    std::cout << "global warming is " << warming << '\n';
    update(0.1);//更改全局变量的值
    std::cout << "Now global warming is " << warming << '\n';
    local();//同名局部变量隐藏全局变量
    
    return 0;
}
//file1.cpp
#include <iostream>
#include "coordin.h"
extern double warming;//引用声明

void update(double x)
{
    warming += x;
}

void local()
{
    double warming = 1.2;//隐藏全局变量warming
    std::cout << "local warming is " << warming << '\n';
    std::cout << "But global warming is " << ::warming << '\n';//::是作用域解析运算符,表示使用变量的全局版本
}

输出

global warming is 0.3
Now global warming is 0.4
local warming is 1.2
But global warming is 0.4

头文件只能有下面这些东西,不要企图在里面定义任何变量。。。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言详细讲解多维数组与多维指针

    C语言详细讲解多维数组与多维指针

    C 语言中的多维数组(multidimensional array)其实就是元素为数组的数组。多维指针根据声明的维数需要进行多次地址转换才能够取到目标数据。但指针作为数据变量,可以多次赋值,使其成为对数组操作访问的一大利器,所以指针和数组的结合才是重中之重
    2022-04-04
  • Qt实现棋盘游戏

    Qt实现棋盘游戏

    这篇文章主要为大家详细介绍了Qt实现棋盘游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • MFC中动态创建控件以及事件响应实现方法

    MFC中动态创建控件以及事件响应实现方法

    这篇文章主要介绍了MFC中动态创建控件以及事件响应实现方法,详细讲解了MFC中动态创建控件以及事件响应的概念与实现方法,具有一定的实用价值,需要的朋友可以参考下
    2014-10-10
  • C++(STL库)之顺序容器vector的使用

    C++(STL库)之顺序容器vector的使用

    这篇文章主要介绍了C++(STL库)之顺序容器vector的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 使用C++制作简单的web服务器(续)

    使用C++制作简单的web服务器(续)

    本文承接上文《使用C++制作简单的web服务器》,把web服务器做的功能稍微强大些,主要增加的功能是从文件中读取网页并返回给客户端,而不是把网页代码写死在代码中,有需要的小伙伴来参考下吧。
    2015-03-03
  • C语言实现猜数字

    C语言实现猜数字

    这篇文章主要为大家详细介绍了C语言实现猜数字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • VC++操作SQLite简单实例

    VC++操作SQLite简单实例

    这篇文章主要介绍了VC++操作SQLite,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • 深入理解C++移位运算符

    深入理解C++移位运算符

    下面小编就为大家带来一篇深入理解C++移位运算符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • C++实现宿舍管理查询系统

    C++实现宿舍管理查询系统

    这篇文章主要为大家详细介绍了C++实现宿舍管理查询系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • c/c++ 函数返回指针和引用所引发的问题

    c/c++ 函数返回指针和引用所引发的问题

    本文主要介绍了c/c++ 函数返回指针和引用所引发的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-05-05

最新评论