欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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|

這個問題我遇到過三次了,每次好像原因都不一樣,在網(wǎng)上看到很多博客都記錄了這個問題,每人原因也都不同,所以可以有多種原因都引發(fā)這個錯誤。

但我不懂ld returned 1 exit status|到底是啥意思,所以不能解讀這些問題的相通的共同毛病,但我覺得這肯定是什么比較致命的錯誤,即找不到病根,那就只好從現(xiàn)在開始專門記錄一下各種癥狀

在頭文件中定義變量

今天腦子一昏,竟做出此舉,我很慚愧。

我把外部變量的定義竟寫到了頭文件中, 于是報錯。

然而外部變量可以放在任何源代碼文件中,只要寫在所有函數(shù)外面就行,就是不能放在頭文件中。。。

我是個人才

錯誤代碼:

//coordin.h
#ifndef COORDIN_H_
#define COORDIN_H_
double warming = 0.3;//外部變量/全局變量的定義聲明,應(yīng)刪掉這句代碼
void update(double);
void local();
#endif // COORDIN_H_
//main.cpp
#include <iostream>
#include "coordin.h"
extern double warming;//應(yīng)改為外部變量/全局變量的定義聲明: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

頭文件只能有下面這些東西,不要企圖在里面定義任何變量。。。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論