Today I was reading a programming book and I encountered the following sentence (emphases mine):
In this case, for example, the type that all three compilers report
forparam
are incorrect.
I'm not an English native speaker but since the very first moment I went through that statement I felt like something didn't flow smoothly:
the subject of the sentence (the type) seems to be singular, however the verb that refers to it (are) is plural. Am I missing anything here?
Answer
There are different interpretations:
All three compilers report the same type, which is incorrect. In that case it should be singular is.
Each compiler reports a different type. So all three types are not correct, but they are not the same either. In that case are is fine.
While each compiler only reports a single type, there are three of them, and so the resulting list of types might contain several different ones or just one and the same.
UPDATE: The text (Scott Meyers' Effective C++) continues with the sentence Furthermore, they're essentially required to be incorrect [...], so with a plural reference. This indicates to me that the author indeed means to refer to the three types; but uses the singular type as each compiler only reports one. It is an interesting usage, though types would probably have been less confusing in this instance.
No comments:
Post a Comment