Most of us would have encountered this error while trying to create a solution using Visual Studio 2003 which contains both managed and unmanaged code.
In my case, I was doing an .NET Interop. My solution contained an existing C/C++ project which interops with a C# project. When I set the 'use managed extensions' in the C/C++ project properties (enables the /clr option) in the pre-.NET project, I encountered the fatal error C1190.
The remedy is to set the properties for code generation -> Runtime Library to Multi-threaded Debug (/MTd) and save and compile the whole project again....but again the error creeps up!@!?!
This is a bug in the Visual Studio 2003 IDE. What happens is that the change do not get registered for all the files in your project. So one option is to click on the properties of each .cpp file in your project and to set it to /MTd.
Close your solution, edit your <projectname>.vcproj in Notepad and search for BasicRuntimeChecks="3" or whatever and replace it with BasicRuntimeChecks="0". Save, then open your project and try compiling.