*
flowstudioLA@gmail.com:
> I have a template class object that I use as a mesaging queue between
> threads. I use it as a static object that I initialize like so:
>
> foo.h
> class foo{
> static LFQueue<const char*,100> lfqMyQueue;
> };
> foo.cpp
> LFQueue<const char*,100> Foo::lfqMyQueue;
You're using threads and you're using char* pointers for communication between
them, and packaging things in templates just for added complexity.
That means that it should not be surprising if things don't work.
> This has worked fine for me. The problems that I've run into is when
> I've attempted to get tricky and try and declare a number of LFQueue
> objects in a static array, so that I can access a number of queues out
> of a single object. I tried to do it like so:
>
> foo.h
> class foo{
> static LFQueue<const char*,100> aLFQArray[3];
> };
> foo.cpp
> LFQueue<const char*,100> Foo::aLFQArray[3];
The declarations should work fine.
But possibly you haven't shown all relevant code.
> This compiles ok, but when I use it, the const char data goes out of
> scope
That's meaningless.
> and I get garbage when trying to read from the queue.
Not surprising.
> I'm not
> sure if I failed to set it up right, or if the way the queue template
> class is setup makes this impossible. It's almost like the array is
> static, but the LFQueue elements are not?
It's almost like as if doing threading and mixing in char* and perhaps other raw
pointers, and mixing in some templating, at beginner's level, is a recipe for
disaster?
Yes?
You're concentrating on the wrong things, both wrt. what could cause the
failure, and wrt. learning C++ programming.
> Anyway, if any of you could shed some light on how I could go about
> this given what you see above, that would be great. If you need more
> info I can post the LFQueue Template class code, but I wanted to make
> sure it wasn't something obvious with the way this was being declared.
The declaration seems to be OK.
Try to reduce the problem to a minimum, non-threading program that you can post
in its entirety here (compilable by others).
Cheers, & hth.,
- Alf
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?