Categories:
.NET (961)
C (387)
C++ (185)
CSS (84)
DBA (8)
General (31)
HTML (48)
Java (641)
JavaScript (220)
JSP (109)
JUnit (31)
MySQL (297)
Networking (10)
Oracle (562)
Perl (48)
Perl (9)
PHP (259)
PL/SQL (140)
RSS (51)
Software QA (28)
SQL Server (5)
Struts (20)
Unix (2)
Windows (3)
XHTML (199)
XML (59)
Other Resources:
I had a frustrating problem which turned out to be caused by the line ....
I had a frustrating problem which turned out to be caused by the line
printf("%d", n);
✍: Guest
where n was actually a long int. I thought that ANSI function prototypes were supposed to guard against argument type mismatches like this.
A:When a function accepts a variable number of arguments, its prototype does not (and cannot) provide any information about the number and types of those variable arguments. Therefore, the usual protections do not apply in the variable-length part of variable-length argument lists: the compiler cannot perform implicit conversions or (in general) warn about mismatches. The programmer must make sure that arguments match, or must manually insert explicit casts.
In the case of printf-like functions, some compilers (including gcc) and some versions of lint are able to check the actual arguments against the format string, as long as the format string is an immediate string literal.
2016-01-11, 965👍, 0💬
Popular Posts:
What is the difference between mysql_fetch_object() and mysql_fetch_array() functions in PHP? mysql_...
What is a delegate ? Delegate is a class that can hold a reference to a method or a function. Delega...
How many types of validation controls are provided by ASP.NET ? There are six main types of validati...
Can Java object be locked down for exclusive use by a given thread? Yes. You can lock an object by p...
How To Recover a Dropped Index? - Oracle DBA FAQ - Managing Oracle Table Indexes If you have the rec...