Code bị cannot be used as a function

Bài của em liệt kê các số nguyên tố có trong ma trận nhưng số nào đã xuất hiện rồi thì không xuất hiện nữa.
Nhưng em bị bug ‘check’ cannot be used as a function, do em sài mảng đánh dấu những số nào đã xuất hiện rồi thì về false thì nó sẽ không xuất hiện lại nữa mà nó bị cannot used as a function.

    bool Isprime(int n){
	for(int i = 2;i<=sqrt(n);i++){
		if(n%i==0)
			return false;
	}
	return n>1;
 }

    int main(){	
	int t;cin>>t;
	while(t--){
		int n,m;cin>>n>>m;
		int arr[n][m];
		queue<int> ans;
		bool check[100000];
		memset(check,true,sizeof(check));
		for(int i = 0;i<n;i++){
			for(int j = 0;j<m;j++){
				cin >> arr[i][j];
				if(Isprime(arr[i][j])&&check(arr[i][j])){
					ans.push(arr[i][j]);
					check(arr[i][j]) = false;
				}
			}
		}
		while(!ans.empty()){
			cout << ans.front() << " ";
			ans.pop();
		}


Anh chị nào biết sửa bug này chỉ cho em với. Em cảm ơn.

Bạn tự nhìn kỹ lại xem đang dùng check như thế nào.

2 Likes

Dạ em cảm ơn anh nhiều.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?