簡體   English   中英

使用endl時C ++運行錯誤

[英]C++ run error when using endl

我最近開始學習C ++,並且正在嘗試編譯和運行一個非常簡單的程序。

#include <iostream>

using namespace std;

int main() {

    cout << "Hello World!" << endl;
    cout << "Hello Again!";

    return 0;
}

程序本身可以進行編譯,沒有任何錯誤,但是,當程序運行時,它似乎在cout << "Hello World!" << endl;之后停止了cout << "Hello World!" << endl; cout << "Hello World!" << endl; 我覺得這很奇怪,因為我的朋友正坐在我旁邊,做着完全相同的事情,並且對他有用。 當我嘗試使用sizeof();會發生相同的事情sizeof(); ; 它不返回任何值,但是,當我的朋友這樣做時,它可以工作。

當我在NetBeans中運行它時,它首先產生了錯誤

RUN FAILED(退出值255,總時間:2秒)

下次我運行它時,它生成了相同的錯誤,但是退出值不同。 盡管現在回到了255。

在NetBeans中運行調試器時,它會產生

SIGILL(非法指令)

停止工作之前的幾次。

我已經在默認目錄(C:\\ MinGW)上安裝了MinGW編譯器,這是NetBeans和任何其他程序使用的編譯器。 我還在“ Path”變量的末尾添加了系統環境變量的路徑:

; C:\\ MinGW的\\ BIN; C:\\ MinGW的\\ MSYS \\ 1.0 \\ BIN

嘗試在Atom中運行和編譯相同的代碼會導致

世界您好!按任意鍵繼續。

我嘗試重新安裝編譯器,然后重新啟動計算機。 這些似乎都不起作用。 我也嘗試過\\n ,它可以工作。 我的問題是,我的編譯器或計算機是否有問題,或者我缺少明顯的東西? 並且有可能解決這個問題嗎?

(抱歉,如果重復的話,我已經搜索了幾個小時,找不到有用的東西)

我找到了罪魁禍首! 在我的系統環境變量中, C:\\MingGW\\binC:\\MingGW\\MSYS\\1.0\\bin位於列表的底部。 這意味着它位於C:\\Program Files (x86)\\GNU\\GnuPG\\pub (如果我沒記錯的話,我認為是另一個編譯器)。

盡管NetBeans中的所有路徑都是正確的,但是當MinGW上方列出了另一個編譯器時,系統似乎不喜歡它。

我通過將MinGW的路徑向上移動到GNU之上來解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM