I have a source file (.cpp) that I save into my HD using a different encoding scheme than its original code page. Later I open it again with MSVS and clearly nothing looks different (no odd characters were inserted). But if I add a comment at the end of the file, e.g

Code:
class A{
 void func()
 {    
 }
  //comment
}
it will report an error of "{" at line "class A{"

But if I change it into
Code:
class A{
 void func()
 {    
 }
  /*comment*/
}
then the error is gone.

Could you explain why ? Thank you.
BTW, I am looking for a decent compiler book (one that is most applicable to current OSes + MSVS technologies+GnuGcc). Honestly I never took a compiler course before, all of what I know is from one of my best online professors. She was/is/will always be great to me! Best! Thank you, professor.