01/10/2018, 00:14

Lỗi khi compile chương trình: [Error] 'int16_t' was not declared in this scope

Tình hình là mình bị dính lỗi này, chưa hiểu là do làm sao. Copiler trên Geany thì vẫn được, copy code sang DevC++ thì nó bị như này… Anh chị em cho ý kiến khắc phục =))

đây là code (chương trình tính các phép tính ma trận, chưa hoàn chỉnh)

#include<iostream>
#include<ctime>
#include<cstdint>
using namespace std;
int main()
{
	int16_t ma, na, mb, nb, i, j, t;
	int16_t a[10][10], b[10][10], c[10][10];	
	srand(time(0));
	cout<<" PHEP THOAN THUC HIEN // 1:(A+B) // 2:(AxB) // 3:(const xA) // 4(const xA + const xB)| (1/2/3/4)? : "; cin>> t;
	switch (t)
	{
		case 1:
		{
			cout<<" SO HANG MATRIX A : "; cin>> ma;
			cout<<" SO COT MATRIX A : "; cin>> na;
			cout<<" SO HANG MATRIX B : "; cin>> mb;
			cout<<" SO COT MATRIX B : "; cin>> nb;
			// nhap gia tri mang A
			cout<<" NHAP GIA TRI MATRIX A :" << endl;
			for (i=0; i<ma; i++)
				for (j=0; j<na; j++) a[i][j] = 10 - rand()%20;
			for (i=0; i<ma; i++)
				{
					for (j=0; j<na; j++) cout<< "	" << a[i][j];
					cout<< endl << endl;
				}
				// nhap gia tri mang B
			cout<<" NHAP GIA TRI MATRIX B :" << endl;
			for (i=0; i<mb; i++)
				for (j=0; j<nb; j++) b[i][j] = 10 - rand()%20;
			for (i=0; i<mb; i++)
				{
					for (j=0; j<nb; j++) cout<< "	" << b[i][j];
					cout<< endl << endl;
				}
			if (ma != mb || na !=nb) cout<<" ERROR!! #1 ";
			else
			{
				for (i=0; i<ma; i++)
					for (j=0; j<na; j++) c[i][j] = a[i][j] + b[i][j];
					cout<<" KET QUA MANG C: " << endl;
					for (i=0; i<ma; i++)
						{
							for (j=0; j<na; j++) cout<<"	" << c[i][j];
							cout<< endl << endl;
						}
			}
		}
		break;
		
		case 2:
		{
			if (ma != nb) cout<<" ERROR!! #2";
			else
			{
						{
							// đang nghĩ !!
						}
			}
			break;
		}
		
		case 3:
		{
			cout<<" SO HANG MATRIX A : "; cin>> ma;
			cout<<" SO COT MATRIX A : "; cin>> na;
			// nhap gia tri mang A
			cout<<" NHAP GIA TRI MATRIX A :" << endl;
			for (i=0; i<ma; i++)
				for (j=0; j<na; j++) a[i][j] = 10 - rand()%20;
			for (i=0; i<ma; i++)
				{
					for (j=0; j<na; j++) cout<< "	" << a[i][j];
					cout<< endl << endl;
				}
			int16_t k;
			cout<<" const (k) = "; cin>> k;
			cout<<" KET QUA MANG C: " << endl;
			for (i=0; i<ma; i++)
				{
					for (j=0; j<na; j++) cout<< "	" << k*a[i][j];
					cout<< endl << endl;
				}
                        break;
		}
		
	}

	return(0);
}
Pham Van Hai viết 02:15 ngày 01/10/2018

Đọc message lỗi thì do compiler mặc định không hỗ trợ C++11, bạn phải config Dev-C++ để thêm tùy chọn -std=c++11. Bạn theo hướng dẫn trên SOF xem sao:

Go to Tools -> Compiler Options -> “Compiler” tab

Check the checkbox labeled, “Add the following commands when calling the compiler” And add in the text entry box, “-std=c++11” or if that doesn’t work “-std=C++0x”

Should be something like that anyway, I haven’t had Dev C++ installed for many years, so I had to look at some screenshots on Google to remember.

stackoverflow.com
Victor Odouard

How to change mode from c++98 mode in Dev-C++ to a mode that supports C++0x (range based for)?

c++, c++11, compiler-construction, dev-c++
asked by Victor Odouard on 11:13PM - 05 Jun 13
Quang Minh viết 02:30 ngày 01/10/2018

oke được rồi THANKS!

Bài liên quan
0