ReadLine()) { numLines++; } 电源线名称*电源线列表=新电源线名称[numLines]; StreamReader ^sr=File::OpenText(“powerline.txt”); 阵列^电源线; 阵列^power\u line\u nospace; 数组^d_线; 数组^all\u powrline\u字符串; int i=0; char-nstring[100]; 尝试 { 字符串^s=“”; 而(s=sr->ReadLine()) { 电源线=s->拆分(':'); 电源线空间=电源线[1]->分割(“”); d_线=电源线空间[1]->拆分(“|”); 对于(int a=0;aLength;a++) { pin_ptr wch=PtrToStringChars(d_线[a]); 尺寸=wcslen(wch)+1; 大小\u t convertedChars=0; 如果(a==0) { wcstombs(转换字符,电源列表[i].name_1,origsize,wch,_TRUNCATE); //strcat(电源列表[i]。名称1,“(字符*)”; } 如果(a==1) { wcstombs(转换字符,功率列表[i].Max_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Max_1,“(char*)”; } 如果(a==2) { wcstombs(转换字符,电源列表[i].Min_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Min_1,“(char*)”; } } i++; } 控制台::写线; } 最后 { if(sr) 删除(IDisposable^)(sr); } 返回0; },c++-cli,C++ Cli" /> ReadLine()) { numLines++; } 电源线名称*电源线列表=新电源线名称[numLines]; StreamReader ^sr=File::OpenText(“powerline.txt”); 阵列^电源线; 阵列^power\u line\u nospace; 数组^d_线; 数组^all\u powrline\u字符串; int i=0; char-nstring[100]; 尝试 { 字符串^s=“”; 而(s=sr->ReadLine()) { 电源线=s->拆分(':'); 电源线空间=电源线[1]->分割(“”); d_线=电源线空间[1]->拆分(“|”); 对于(int a=0;aLength;a++) { pin_ptr wch=PtrToStringChars(d_线[a]); 尺寸=wcslen(wch)+1; 大小\u t convertedChars=0; 如果(a==0) { wcstombs(转换字符,电源列表[i].name_1,origsize,wch,_TRUNCATE); //strcat(电源列表[i]。名称1,“(字符*)”; } 如果(a==1) { wcstombs(转换字符,功率列表[i].Max_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Max_1,“(char*)”; } 如果(a==2) { wcstombs(转换字符,电源列表[i].Min_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Min_1,“(char*)”; } } i++; } 控制台::写线; } 最后 { if(sr) 删除(IDisposable^)(sr); } 返回0; },c++-cli,C++ Cli" />

C++ cli c++;致命错误c1001:编译器中发生内部错误 我必须把C++与点网C++混合起来。我看到了这个错误。我已经在谷歌上搜索了很多。尝试了很多方法。仍然不起作用。谢谢你的帮助 int _tmain(int argc, _TCHAR* argv[]) { typedef struct { char all_srting[200]; char name_1[100]; char Max_1[100]; char Min_1[100]; }power_line_name; int numLines; StreamReader ^ sr1=File::OpenText("powerline.txt"); while(sr1->ReadLine()) { numLines++; } power_line_name* power_list=new power_line_name[numLines]; StreamReader ^ sr=File::OpenText("powerline.txt"); array<System::String ^> ^power_line; array<System::String ^> ^power_line_nospace; array<System::String ^> ^d_line; array<System::String ^> ^all_powrline_string; int i=0; char nstring[100]; try { String^ s=""; while (s=sr->ReadLine()) { power_line=s->Split(':'); power_line_nospace=power_line[1]->Split(' '); d_line=power_line_nospace[1]->Split('|'); for(int a=0;a<d_line->Length;a++) { pin_ptr<const wchar_t> wch = PtrToStringChars(d_line[a]); size_t origsize = wcslen(wch) + 1; size_t convertedChars = 0; if(a==0) { wcstombs_s(&convertedChars, power_list[i].name_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].name_1, " (char *)"); } if(a==1) { wcstombs_s(&convertedChars, power_list[i].Max_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].Max_1, " (char *)"); } if(a==2) { wcstombs_s(&convertedChars, power_list[i].Min_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].Min_1, " (char *)"); } } i++; } Console::WriteLine(s); } finally { if(sr) delete (IDisposable^)(sr); } return 0; } int-tmain(int-argc,_-TCHAR*argv[] { 类型定义结构 { char all_srting[200]; 字符名称_1[100]; char Max_1[100]; char Min_1[100]; }电源线名称; 国际努姆林; StreamReader ^sr1=文件::OpenText(“powerline.txt”); 而(sr1->ReadLine()) { numLines++; } 电源线名称*电源线列表=新电源线名称[numLines]; StreamReader ^sr=File::OpenText(“powerline.txt”); 阵列^电源线; 阵列^power\u line\u nospace; 数组^d_线; 数组^all\u powrline\u字符串; int i=0; char-nstring[100]; 尝试 { 字符串^s=“”; 而(s=sr->ReadLine()) { 电源线=s->拆分(':'); 电源线空间=电源线[1]->分割(“”); d_线=电源线空间[1]->拆分(“|”); 对于(int a=0;aLength;a++) { pin_ptr wch=PtrToStringChars(d_线[a]); 尺寸=wcslen(wch)+1; 大小\u t convertedChars=0; 如果(a==0) { wcstombs(转换字符,电源列表[i].name_1,origsize,wch,_TRUNCATE); //strcat(电源列表[i]。名称1,“(字符*)”; } 如果(a==1) { wcstombs(转换字符,功率列表[i].Max_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Max_1,“(char*)”; } 如果(a==2) { wcstombs(转换字符,电源列表[i].Min_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Min_1,“(char*)”; } } i++; } 控制台::写线; } 最后 { if(sr) 删除(IDisposable^)(sr); } 返回0; }

C++ cli c++;致命错误c1001:编译器中发生内部错误 我必须把C++与点网C++混合起来。我看到了这个错误。我已经在谷歌上搜索了很多。尝试了很多方法。仍然不起作用。谢谢你的帮助 int _tmain(int argc, _TCHAR* argv[]) { typedef struct { char all_srting[200]; char name_1[100]; char Max_1[100]; char Min_1[100]; }power_line_name; int numLines; StreamReader ^ sr1=File::OpenText("powerline.txt"); while(sr1->ReadLine()) { numLines++; } power_line_name* power_list=new power_line_name[numLines]; StreamReader ^ sr=File::OpenText("powerline.txt"); array<System::String ^> ^power_line; array<System::String ^> ^power_line_nospace; array<System::String ^> ^d_line; array<System::String ^> ^all_powrline_string; int i=0; char nstring[100]; try { String^ s=""; while (s=sr->ReadLine()) { power_line=s->Split(':'); power_line_nospace=power_line[1]->Split(' '); d_line=power_line_nospace[1]->Split('|'); for(int a=0;a<d_line->Length;a++) { pin_ptr<const wchar_t> wch = PtrToStringChars(d_line[a]); size_t origsize = wcslen(wch) + 1; size_t convertedChars = 0; if(a==0) { wcstombs_s(&convertedChars, power_list[i].name_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].name_1, " (char *)"); } if(a==1) { wcstombs_s(&convertedChars, power_list[i].Max_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].Max_1, " (char *)"); } if(a==2) { wcstombs_s(&convertedChars, power_list[i].Min_1, origsize, wch, _TRUNCATE); //strcat_s(power_list[i].Min_1, " (char *)"); } } i++; } Console::WriteLine(s); } finally { if(sr) delete (IDisposable^)(sr); } return 0; } int-tmain(int-argc,_-TCHAR*argv[] { 类型定义结构 { char all_srting[200]; 字符名称_1[100]; char Max_1[100]; char Min_1[100]; }电源线名称; 国际努姆林; StreamReader ^sr1=文件::OpenText(“powerline.txt”); 而(sr1->ReadLine()) { numLines++; } 电源线名称*电源线列表=新电源线名称[numLines]; StreamReader ^sr=File::OpenText(“powerline.txt”); 阵列^电源线; 阵列^power\u line\u nospace; 数组^d_线; 数组^all\u powrline\u字符串; int i=0; char-nstring[100]; 尝试 { 字符串^s=“”; 而(s=sr->ReadLine()) { 电源线=s->拆分(':'); 电源线空间=电源线[1]->分割(“”); d_线=电源线空间[1]->拆分(“|”); 对于(int a=0;aLength;a++) { pin_ptr wch=PtrToStringChars(d_线[a]); 尺寸=wcslen(wch)+1; 大小\u t convertedChars=0; 如果(a==0) { wcstombs(转换字符,电源列表[i].name_1,origsize,wch,_TRUNCATE); //strcat(电源列表[i]。名称1,“(字符*)”; } 如果(a==1) { wcstombs(转换字符,功率列表[i].Max_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Max_1,“(char*)”; } 如果(a==2) { wcstombs(转换字符,电源列表[i].Min_1,origsize,wch,_TRUNCATE); //strcat_s(power_list[i].Min_1,“(char*)”; } } i++; } 控制台::写线; } 最后 { if(sr) 删除(IDisposable^)(sr); } 返回0; },c++-cli,C++ Cli,我得到这个消息:power_line=s->Split(':') 我在使用boost::iequals比较两个std::string时遇到了相同的错误,如下所示: std::for_each(bds.begin(),bds.end(),[&](std::string str){if(boost::iequals("must",str)) printf("matched\n");}); 我用VS2010和boost版本1.58编译了这段代码 要解决此错误,只需将std::for_each

我得到这个消息:power_line=s->Split(':') 我在使用boost::iequals比较两个std::string时遇到了相同的错误,如下所示:

std::for_each(bds.begin(),bds.end(),[&](std::string str){if(boost::iequals("must",str)) printf("matched\n");});
我用VS2010和boost版本1.58编译了这段代码


要解决此错误,只需将std::for_each()替换为for()。因此,我猜编译器r和boosts lib是冲突的。

您的编译器和版本是什么?你搜索过它的bug追踪器吗?我使用的是visual studio 2008 91605-270-4713616-60082