これは私の元のコードでした:
#include <iostream>
void printArrayValues(int x, int y)
{
std::cout << x << std::endl;
std::cout << y << std::endl;
}
int main()
{
int myArray[2];
std::cout << "Please enter what you want the first element in 'myArray' to be: ";
std::cin >> myArray[0] >> std::endl;
std::cout << "Please enter what you want the second element in 'myArray' to be: ";
std::cin >> myArray[1] >> std::endl;
printArrayValues(myArray[0], myArray[1]);
return 0;
}
私は自分のエラーを調べましたが、それは私が
#include <string>
しなかったからだと言いました
。宣言されている文字列がないため、これに混乱しましたが、先に進んで
#include
とにかくそれを編集しました。それはそれを修正したように見えたが、私が戻ってきたとき、同じエラーが戻ってきた。ここに私の新しいコードがあります:
#include <fstream>
#include <iostream>
#include <istream>
#include <string>
void printArrayValues(int x, int y)
{
std::cout << x << std::endl;
std::cout << y << std::endl;
}
int main()
{
int myArray[2];
std::cout << "Please enter what you want the first element in 'myArray' to be: ";
std::cin >> myArray[0] >> std::endl;
std::cout << "Please enter what you want the second element in 'myArray' to be: ";
std::cin >> myArray[1] >> std::endl;
printArrayValues(myArray[0], myArray[1]);
return 0;
}
エラーはまだ表示されているため、まだ修正されておらず、どうすればよいかわかりません。誰かがそれを修正する方法を教えて、その特定の修正が機能する理由を説明できますか?ありがとう!
回答 1 件
関連記事
- 二項演算子 '||'の不正なオペランドタイプ
- Generic クラスの「バイナリ演算子 '+'の無効なオペランドタイプ」
- エラー:c2679バイナリ '==':タイプ 'const std - : string'の右側のオペランドを取る演算子が見つかりません(または、受け入れ可能な変換がありません
- BYTESのビット単位の二項演算子には、同じ長さの入力が必要です。左側に16バイト、右側に4バイトを取得しました
- ANTLR文法でのバイナリ演算子と引用符のサポート
- 二項演算子への非数値引数、CSV
- 構造体型で演算子のオーバーロードを使用してバイナリコピーを回避する方法
- C ++バイナリ演算子のオーバーロード
- テンプレートクラスのバイナリ加算演算子を記述します。コンパイルエラー
正しくありません。
std::endl
出力ストリームでのみ機能することを意図しています。例:改行文字まですべてをスキップする場合は、
std::istream::ignore()
を使用します 1。ただし、あなたの場合、
operator>>
のように、それは必要ありません デフォルトで先頭の空白を無視します(std::noskipws
を使用しない限り )、改行を含む。単に使用できます:1:
std::cin.ignore()
を使用することにした場合 、 追加std::numeric_limits
の定義を取得する 。