来源:蜘蛛抓取(WebSpider)
时间:2015-10-29 08:42
标签:
增值税发票代码在哪里
谢谢你的回答。
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注
用指针输入和输出字符串,怎么报错呢? 大...
status Max(Triplet T,Elemtype &e){
e=(T[0]>=T[1])?((T[0]>=T[2])?T[0]:T[2]):((T[1]>=T[2])?T[1]:T[2]);
return OK;
status Min(Triplet T,Elemtype &e){
e=(T[0]<=T[1])?((T[0]<=T[2])?T[0]:T[2]):((T[1]c语言的调用问题(数据结构与算法) st...
用函数名f做实参,f本身的参数如何传递?...C++代码规范_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C++代码规范
上传于||文档简介
&&本​文​从​代​码​的​可​维​护​性​(​可​读​、​可​理​解​性​、​可​修​改​性​)​、​代​码​逻​辑​与​效​率​、​函​数​(​模​块​)​接​口​、​可​测​试​性​四​个​方​面​阐​述​了​软​件​编​程​规​范​,​规​范​分​成​规​则​和​建​议​两​种​,​其​中​规​则​部​分​为​强​制​执​行​项​目​,​而​建​议​部​分​则​不​作​强​制​,​可​根​据​习​惯​取​舍​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
你可能喜欢Visual c++6.0中 这些都是什么意思 点那个能知道出错了 错误的程序怎么修改啊 全英文的看不懂 急求去_百度知道
Visual c++6.0中 这些都是什么意思 点那个能知道出错了 错误的程序怎么修改啊 全英文的看不懂 急求去
提问者采纳
做1. 编译前源码2. 编译前工程3. 取消编译4. 执行编译5 调试6. 设置断点建议买本VC技术内幕基础看起
如果进行调试的话
怎么看是第几行 出现什么错误呢
用F10启动单步调试,一步步的执行(不断恩下F10),这样就能看到在里出错了
提问者评价
原来是这样,感谢!
来自团队:
其他类似问题
为您推荐:
其他2条回答
第编译代码第二连接整库执行文件第三执行文件候断操作(般用)第四执行debug文件第五执行候跳断点处进行debug第六设置断点
楼上回答的很对
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C++中,以下几行代码为何报错?? 这是什么原因?怎样修改?_百度知道
C++中,以下几行代码为何报错?? 这是什么原因?怎样修改?
#include &windows.h&#include &IOSTREAM&LPVOID *class CBase{public: void fc() { p = //
} static f() { b=1;} }; int main(){
return 0;} 错误:rror C2440: '=' : cannot convert from 'class CBase *const ' to 'void ** 'Types poin conversion requires reinterpret_cast, C-style cast or function-style cast
提问者采纳
更改 LPVOID
提问者评价
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁由于大大的代码是C#的,改成C++的不能在类里面定义类对象,就用指针,然后就运行输入a和a(c,d)这样的有问题,弄了很久,由于自己愚笨弄了很久仍然不知道哪有问题。就是一个简单的分析 A(B(,C(,)),D(,))的parser&a href=&/Ninputer/archive//2085527.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自己动手开发编译器(七)递归下降的语法分析器&i class=&icon-external&&&/i&&/a&&br&&div class=&highlight&&&pre&&code class=&language-cpp&&&span class=&cp&&#include &iostream&&/span&
&span class=&cp&&#include &cstdlib&&/span&
&span class=&cp&&#include &string&&/span&
&span class=&k&&using&/span& &span class=&k&&namespace&/span& &span class=&n&&std&/span&&span class=&p&&;&/span&
&span class=&k&&class&/span& &span class=&nc&&Node&/span&
&span class=&p&&{&/span&
&span class=&k&&public&/span&&span class=&o&&:&/span& &span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&LeftChild&/span&&span class=&p&&;&/span&
&span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&RightChild&/span&&span class=&p&&;&/span&
&span class=&kt&&char&/span& &span class=&n&&Label&/span&&span class=&p&&;&/span&
&span class=&n&&Node&/span&&span class=&p&&(&/span&&span class=&kt&&char&/span& &span class=&n&&label&/span&&span class=&p&&,&/span& &span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&left&/span&&span class=&p&&,&/span& &span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&right&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&Label&/span& &span class=&o&&=&/span& &span class=&n&&label&/span&&span class=&p&&;&/span&
&span class=&n&&LeftChild&/span& &span class=&o&&=&/span& &span class=&n&&left&/span&&span class=&p&&;&/span&
&span class=&n&&RightChild&/span& &span class=&o&&=&/span& &span class=&n&&right&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&p&&};&/span&
&span class=&k&&class&/span& &span class=&nc&&BinaryTreeParser&/span&
&span class=&p&&{&/span&
&span class=&k&&public&/span&&span class=&o&&:&/span&
&span class=&n&&string&/span& &span class=&n&&m_inputString&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&m_index&/span&&span class=&p&&;&/span&
&span class=&n&&BinaryTreeParser&/span&&span class=&p&&(&/span&&span class=&n&&string&/span& &span class=&n&&str&/span&&span class=&p&&,&/span& &span class=&kt&&int&/span& &span class=&n&&index&/span&&span class=&p&&)&/span& &span class=&o&&:&/span&&span class=&n&&m_inputString&/span&&span class=&p&&(&/span&&span class=&n&&str&/span&&span class=&p&&),&/span& &span class=&n&&m_index&/span&&span class=&p&&(&/span&&span class=&n&&index&/span&&span class=&p&&){}&/span&
&span class=&c1&&//初始化输入字符串和索引的构造函数,略&/span&
&span class=&n&&Node&/span&&span class=&o&&*&/span& &span class=&n&&ParseNode&/span&&span class=&p&&()&/span&
&span class=&p&&{&/span&
&span class=&kt&&int&/span& &span class=&n&&lookAheadIndex&/span& &span class=&o&&=&/span& &span class=&n&&m_index&/span&&span class=&p&&;&/span&
&span class=&kt&&char&/span& &span class=&n&&lookAheadChar&/span& &span class=&o&&=&/span& &span class=&n&&m_inputString&/span&&span class=&p&&[&/span&&span class=&n&&lookAheadIndex&/span&&span class=&p&&];&/span&
&span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&n&&isalpha&/span&&span class=&p&&(&/span&&span class=&n&&lookAheadChar&/span&&span class=&p&&))&/span&
&span class=&p&&{&/span&
&span class=&c1&&//采用N → a(N, N)继续分析&/span&
&span class=&kt&&char&/span& &span class=&n&&label&/span& &span class=&o&&=&/span& &span class=&n&&m_inputString&/span&&span class=&p&&[&/span&&span class=&n&&m_index&/span&&span class=&o&&++&/span&&span class=&p&&];&/span& &span class=&c1&&//解析字母&/span&
&span class=&n&&m_index&/span&&span class=&o&&++&/span&&span class=&p&&;&/span& &span class=&c1&&//解析左括号,因为不需要使用它的值,所以直接跳过&/span&
&span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&left&/span& &span class=&o&&=&/span& &span class=&n&&ParseNode&/span&&span class=&p&&();&/span& &span class=&c1&&//非终结符N,递归调用&/span&
&span class=&n&&m_index&/span&&span class=&o&&++&/span&&span class=&p&&;&/span& &span class=&c1&&//解析逗号,跳过&/span&
&span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&right&/span& &span class=&o&&=&/span& &span class=&n&&ParseNode&/span&&span class=&p&&();&/span& &span class=&c1&&//非终结符N,递归调用&/span&
&span class=&n&&m_index&/span&&span class=&o&&++&/span&&span class=&p&&;&/span& &span class=&c1&&//解析右括号,跳过&/span&
&span class=&n&&Node&/span& &span class=&o&&*&/span&&span class=&n&&ptr&/span&&span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Node&/span&&span class=&p&&(&/span&&span class=&n&&label&/span&&span class=&p&&,&/span& &span class=&n&&left&/span&&span class=&p&&,&/span& &span class=&n&&right&/span&&span class=&p&&);&/span&
&span class=&k&&return&/span& &span class=&n&&ptr&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&n&&lookAheadChar&/span& &span class=&o&&==&/span& &span class=&sc&&','&/span& &span class=&o&&||&/span& &span class=&n&&lookAheadChar&/span& &span class=&o&&==&/span& &span class=&sc&&')'&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&c1&&//采用N → ε继续分析&/span&
&span class=&c1&&//无需消耗输入字符,直接返回null&/span&
&span class=&k&&return&/span& &span class=&k&&nullptr&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&k&&else&/span&
&span class=&p&&{&/span&
&span class=&k&&throw&/span& &span class=&k&&new&/span& &span class=&n&&exception&/span&&span class=&p&&(&/span&&span class=&s&&&语法错误&&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&span class=&p&&};&/span&
&span class=&kt&&int&/span& &span class=&nf&&main&/span&&span class=&p&&(&/span&&span class=&kt&&void&/span&&span class=&p&&)&/span&
&span class=&p&&{&/span&
&span class=&n&&string&/span& &span class=&n&&str&/span&&span class=&p&&;&/span&
&span class=&n&&cin&/span& &span class=&o&&&&&/span& &span class=&n&&str&/span&&span class=&p&&;&/span&
&span class=&n&&BinaryTreeParser&/span& &span class=&n&&test&/span&&span class=&p&&(&/span&&span class=&n&&str&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&);&/span&
&span class=&n&&Node&/span&&span class=&o&&*&/span& &span class=&n&&p&/span&&span class=&o&&=&/span&&span class=&n&&test&/span&&span class=&p&&.&/span&&span class=&n&&ParseNode&/span&&span class=&p&&();&/span&
&span class=&k&&return&/span& &span class=&mi&&0&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&
由于大大的代码是C#的,改成C++的不能在类里面定义类对象,就用指针,然后就运行输入a和a(c,d)这样的有问题,弄了很久,由于自己愚笨弄了很久仍然不知道哪有问题。就是一个简单的分析 A(B(,C(,)),D(,))的parser#include &iostream&
#include &cstdlib&
#include &string&
class Node
public: Node *LeftC
Node *RightC
Node(char label, Node *left, Node *right)
LeftChild =
RightChild =
class BinaryTreeParser
string m_inputS
BinaryTreeParser(string str, int index) :m_inputString(str), m_index(index){}
//初始化输入字符串和索引的构造函数,略
Node* ParseNode()
int lookAheadIndex = m_
char lookAheadChar = m_inputString[lookAheadIndex];
if (isalpha(lookAheadChar))
//采用N → a(N, N)继续分析
char label = m_inputString[m_index++]; //解析字母
m_index++; //解析左括号,因为不需要使用它的值,所以直接跳过
Node *left = ParseNode(); //非终结符N,递归调用
m_index++; //解析逗号,跳过
Node *right = ParseNode(); //非终结符N,递归调用
m_index++; //解析右括号,跳过
Node *ptr= new Node(label, left, right);
else if (lookAheadChar == ',' || lookAheadChar == ')')
//采用N → ε继续分析
//无需消耗输入字符,直接返回null
throw new exception("语法错误");
int main(void)
BinaryTreeParser test(str, 0);
Node* p=test.ParseNode();
问题出在ParseNode函数里,第一个if的条件是lookAheadChar是字母,else if的条件是lookAheadChar是逗号或右括号。那么当lookAheadChar是左括号的时候就会进入else分支,抛出一个异常。而这个异常并没有用catch语句捕捉,导致abort()函数被调用,意外结束程序。
BEMANI音游汪