c++ question, how to define a member array, and it's size, outside of the class dec..
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
There is less than 24 hours left to vote in the 2015 LinuxQuestions.org Members Choice Awards. Click here to go to the polls. Vote now and make sure your voice is heard!
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
int main(int argc, char ** argv)
for (int i = 0; i < NUM_NAMES; i++)
std::cout << A::names[i] << std::endl;
I thought this was more c++ like. Doing it this way, to add another name to the list, you just do that. NUM_NAMES takes care of itself.
Unfortunately, it segfaults. At least, the real program does. It only segfaults at the very end, but I've traced it back to here. The memory does not get set aside like I hoped it would.
How can I have static member variable array, and be able to define the array, and it's size, outside of the class declaration?
I could just put Bob and Mary and everyone else, inside the class declaration, but the real version is very long, and that would be ugly and not very c++ like. Also, I keep the declaration and the implementations in different files, making it more inconvenient to edit both NUM_NAMES and the names themselves.
Thanks in advance.
Last edited by Winter Knight; 01-20-2007 at 10:53 AM.
The problem with the approach that you have used is that (as you found) the memory isn't allocated, so names may point to an area of memory but there is not any memory allocated to hold your data. You will need to allocate the memory using new, or as I said use the vector template and it will manage the memory for you.