⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 900330_01.c

📁 linux下的gcc编译器
💻 C
字号:
// g++ 1.37.1 bug 900330_01//// As indicated by the example at the end of the section 3.5.3 of the ANSI// C standard, when a type qualifier (i.e. "const" or "volatile") is applied// to an array type, the effect should be as if the element type had been// qualified with the given qualifier.//// This rule applies to C++ also.//// In section 7.1.6 of the C++ Reference Manual it says "Each element of a// const array is const..."//// It appears however that when a name already exists for a given array type// (i.e. a typedef name) and when that name is qualified by a type qualifier,// (i.e. "const" or "volatile"), gcc & g++ may act as if the qualifier applied// to the named (array) type rather that to the elements of that type.//// The result is that (even with the -ansi and -pedantic options) g++// generates no errors or warnings for the lines indicated (even though it// should).//// Due to the incorrect associations, gcc & g++ will also issue inappropriate// warnings in some cases (as illustrated below).// keywords: type qualifiers, arraystypedef const int const_int;typedef const_int array_of_const_int[3];array_of_const_int *ptr_to_array_of_consts;typedef int array_of_int[3];typedef const array_of_int const_array_of_int;const_array_of_int *ptr_to_const_array;void function_0 (){  ptr_to_array_of_consts = ptr_to_const_array;	/* gets bogus warning */  ptr_to_const_array = ptr_to_array_of_consts;	/* gets bogus warning */}/* The following example is taken from ANSI 3.5.3 */typedef int A[2][3];const A a = {{4, 5, 6}, {7, 8, 9}};int *pi;void function_1 (){  pi = a[0];	// ERROR - a[0] has type "const int *"}int main () { return 0; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -