I have a question about the use of a name in a sentence.
In the sentence "I named my dog Rex," what function does the name "Rex" serve? It isn't a direct object (that would be the dog, the thing that is named), but it doesn't seem like an indirect object, either (as you're not naming him *with* Rex or *to* Rex or anything). It hardly seems to be a noun at all, because there's no correct way to modify it (at least, not without changing the name to "Big Rex" or something). What gives?
It's called an "objective complement", because it completes the direct object "my dog".
You probably know about subjective complements (predicate nouns, pronouns, and adjectives), which modify the subject and follow a copula verb: His name is Joe. My dog seems sick today. My car is all I have our left.
An objective complement, which can also be a noun or adjective (theoretically also a pronoun, but I'm having trouble coming up with an example), follows the object (usually direct), modifies the direct object, and completes the meaning of the sentence or clause:
I called my dog Rex. I painted my car red.
The objective (and subjective) complement should be distinguished from the so-called apposition, which merely provides extra detail, but doesn't really complete the meaning of the clause:
X We met Bill Gates, the richest man on Earth! (And Steve Jobs, his competitor, was also there.)