Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!brl-adm!adm!Schauble@mit-multics.arpa From: Schauble@mit-multics.arpa (Paul Schauble) Newsgroups: comp.lang.c Subject: Problem with Microsoft C V4.0 Message-ID: <5397@brl-adm.ARPA> Date: Mon, 23-Mar-87 05:12:45 EST Article-I.D.: brl-adm.5397 Posted: Mon Mar 23 05:12:45 1987 Date-Received: Tue, 24-Mar-87 04:22:44 EST Sender: news@brl-adm.ARPA Lines: 34 I've recently acquired Microsoft C version 4.0, replacing Lattice version 2.15. In most aspects, it's a considerable improvement, and I wouldn't give up Codeview for anything else I've seen. However, I just had something happen that has badly soured me on the compiler. The problem is this Within one file I have the function declaration void bgunlink_transaction_record (bgfile, client, transaction) BGFILE *bgfile; struct tclient_rec *client; struct ttransaction_rec *transaction; { .... } The type BGFILE and the structures are correctly declared prior to this. Later in the file I have the statement bgunlink_transaction_record (&bgfile, &client_rec, rec, &transaction); Note that they don't match in number or types of arguments. When compiling with /W3 for maximum checking, the compiler SAYS NOT A WORD ABOUT THIS. I realize that I didn't write a prototype for the function, but when it's DECLARED IN THE SAME COMPILATION, I shouldn't have to. Lattice managed to get this one right. I guess there had to be a letdown from my initial enthusiasm for this compiler. But, people, this one is so dumb it hurts. regretfully, Paul