簡體   English   中英

使用 getline() 時編譯錯誤:“類型不匹配”

[英]Compiling error while using getline(): 'mismatched types'

我一直收到這個錯誤(這是一個很長的錯誤,但我認為最重要的部分是這個):

main.cpp:9:30: note:   mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'const char [2]'

在編譯這段代碼時:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string x = getline(cin, " ");
    return 0;
}

錯誤中的行與我在此處提出的代碼中的行不匹配,因為我不知道如何在 Stack Overflow 編輯器中編寫代碼時創建新行; 我是新來的 ;) 無論如何,錯誤指向帶有string x聲明的那一行。

基本上我希望這段代碼做的是從用戶那里得到一行,直到他/她點擊空格。 也許我從一開始就做錯了什么,所以我願意接受解決這個問題的建議。 (我對 C++ 不是很有經驗,只是我的老師需要使用這種語言完成一項任務。)謝謝,

安東尼

std::getline()的第二個參數是對接受讀取數據的std::string變量的引用。 字符串不輸出在函數的返回值中。

此外, std::getline()不接受字符串作為分隔符。 它只需要一個字符。

試試這個:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string x;
    getline(cin, x, ' ');
    return 0;
}

暫無
暫無

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

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