/ Published in: C++
Current versions of C++, as well as ANSI C, allow you to initialize ordinary arrays defined in a function. However, in some older implementations that use a C++ translator instead of a true compiler, the C++ translator creates C code for a C compiler that is not fully ANSI C compliant. In such a case, you can get an error message like the following example from a Sun C++ 2.0 system
Expand |
Embed | Plain Text
#include <iostream> int main() { using namespace std; int yams[3]; yams[0] = 7; yams[1] = 8; yams[2] = 6; int yamcosts[3] = {20, 30, 5}; // create, initialize array // NOTE: If your C++ compiler or translator can’t initialize // this array, use static int yamcosts[3] instead of // int yamcosts[3] // creates array with three elements // assign value to first element 111cout << “Total yams = “; cout << yams[0] + yams[1] + yams[2] << endl; cout << “The package with “ << yams[1] << “ yams costs “; cout << yamcosts[1] << “ cents per yam.\n”; int total = yams[0] * yamcosts[0] + yams[1] * yamcosts[1]; total = total + yams[2] * yamcosts[2]; cout << “The total yam expense is “ << total << “ cents.\n”; cout << “\nSize of yams array = “ << sizeof yams; cout << “ bytes.\n”; cout << “Size of one element = “ << sizeof yams[0]; cout << “ bytes.\n”; return 0; }
You need to login to post a comment.
