The original is correct if the writer intends "allow" to be a clarification or elaboration of "have". There does not appear to be much advantage to doing this (unless something in the wider context explains it), but it is not wrong. khoshtip Why does C++ have (allowed) pointer arithmetic at all?
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.
khoshtipWhy does C++ have (allowed) pointer arithmetic at all?This isn't right. Well, the only thing it could mean is that
GPYThe original is correct if the writer intends "allow" to be a clarification or elaboration of "have". There does not appear to be much advantage to doing this (unless something in the wider context explains it), but it is not wrong.I have many original books (on computer) that their authors are all native English language persons. Honestly, what I have got
khoshtipI have many original books (on computer) that their authors are all native English language persons. Honestly, what I have gotten of using parentheses from those books is that, parentheses make a word/phrase/sentence inside themselves to be optional to the reader to read it or skip it. So if we decide to use the context within the parentheses, it becomes "Why does
GPYBy the way, "Why does C++ have allowed pointer arithmetic at all?" is not correct, if that's what you're thinking (at least, it would only be correct in the strange meaning that I explained).No. My choice is this: Why does C++ have/allow pointer arithmetic at all?
khoshtipBut why you think the other one is incorrect?"allowed" cannot be an explanation or elaboraration of "have" (because it is the wrong tense). Neither can "allowed" be an optional word to be included in the flow of the sentence (because "... have allowed ..." does not make sense, as has been mentioned).
GPYNeither can "allowed" be an optional word to be included in the flow of the sentence (because "... have allowed ..." does not make sense, as has been mentioned).Do you mean using "have allowed" the sentence should be "Why have C++ allowed pointer...", to make sense?
khoshtipDo you mean using "have allowed" the sentence should be "Why have C++ allowed pointer...", to make sense?That's not correct either. "Why has C++ allowed ..." is correct grammar. However, it is not something I would be likely to say. "Why does C++ allow ..." is the way to say it.