diff options
Evaluation order in this case is unspecified
On Visual C++ 2010, the `++current` was being evaluated before `[*current]`, causing a deref of `end` and a crash.
| -rw-r--r-- | src/trie.h | 3 | 
1 files changed, 2 insertions, 1 deletions
@@ -77,7 +77,8 @@ class Trie {  			typename key_list::const_iterator end  		) {  			if ( current != end ) { -				return this->children_[*current].add(++current, end); +				auto element = *current; +				return this->children_[element].add(++current, end);  			} else {  				return this;  			}  | 
