David Boyce wrote:
At 11:07 AM 6/4/2004, Noel Yap wrote:
and only the decision not to allow "#include <Foo.H>" will resolve the
situation.
This is not correct. Depending on the searched directories *is* another
way to solve the same problem. Which way is better is an open question:
reasonable people may disagree and those people may even change their
minds depending on circumstances. I'm comfortable with noting that both
options are on the table.
I disagree (but you knew that already :-).
Allowing '#include <Foo.H>' means that each object file needs its own include path (in
order for each object file to specify which Foo.H it needs). Except for trivial projects,
this doesn't fly.
Moreover, what if both Foo.H's are needed? For example:
# bar/Foo.H
namespace bar
{
struct Foo
{
char c;
};
}
# baz/Foo.H
namespace baz
{
struct Foo
{
long c;
};
}
# foo.C
#include <bar/Foo.H>
#include <baz/Foo.H>
int main( int argc_, char** argv_ )
{
bar::Foo f0;
baz::Foo f1;
f0.c = 'l';
f1.c = f0.c;
}
Noel
_______________________________________________
Help-make mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/help-make