ارور در وکتور بول؟؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ارور در وکتور بول؟؟

0 امتیاز
واسه چی cin ارور میده

int main()
{
	int m,n,x;
   cout<<"Enter size of matrix A(m*n).\n";
   cout<<"Enter m = ";
   cin>>m;
   cout<<"Enter n = ";
   cin>>n;
	vector < vector <bool> > A (m,vector <bool>(n,0));
	cout<<"Enter Matrix A members:\n";
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; j++)
		{
           cin>>A[i][j];
		}
		cout<<endl;
	}

 

سوال شده خرداد 6, 1393  بوسیله ی programmer (امتیاز 139)   9 19 32
ویرایش شده خرداد 7, 1393 بوسیله ی BlueBlade
چه error ی میده include<iostream> رو نوشتید using namespace std; رو چی؟
بله اینارو نوشتم...زیر cin قرمز میشه.میگه واسه bool اورلود نشده اپراترش
کدتون رو کامل به همرله خطا در اینجا قرار بدید.

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

vector<bool با بقیه انواع وکتور فرق داره که این جا توضیح دادم : چرا vector<bool> درست کار نمی کنه ؟

چون نمیشه به آدرس هر خونه دسترسی داشت وکتور بول با cin کار نمیکنه یعنی این هم ارور میده :
 

vector <bool> a(5); 
cin >> a[2];


دلیلشم اینه که vector bool به جای برگردوندن & خونه آرایه مقدار از نوع std::refrence برمیگردونه که cin براش overload ای نداره .

با استفاده از یک متغیر کمکی میشه این مشکل رو حل کرد  :

 

vector <bool> a(5);
bool t;
cin >> t;
a[0] = t;

 

پاسخ داده شده خرداد 7, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد خرداد 14, 1393 بوسیله ی programmer
اخه اینطوری بوب بودنش تاثیری نداره یعنی مثلا 2هم میتونی بدی
هر مقداری به غیر از 0 بدی قبل از ذخیره بصورت ضمنی تبدیل به true یا 1 تبدیل میشه .
...