我正在做一个C ++编译器项目,我需要在错误使用赋值运算符而不是比较运算符的地方标记警告。 。例如
在if
语句中进行比较时,要将变量a
检查为10
,有时我们会错误地输入if {a
= 10
),这会导致{if
= true
1}}语句总是a
而我只有在10
为if(var = a)
时才会成立。我能想到的一些案例是:
if( var==a )
,逻辑上应该是while(var = a )
for(;var=a;)
do{}while(var=a)
var=a? "some XYZ": "some ABC"
==
是否可以帮助我解决可能发生此逻辑错误的更多情况,用户应该使用=
而错误使用Order Deny,Allow
DirectoryIndex index.php
# Secure text files
<Files ~ "\.txt$">
Order allow,deny
Deny from all
</Files>
# Redirect non-www to www:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
ErrorDocument 404 /404.php
RewriteEngine On
# All calls go to SSL
RewriteEngine On
RewriteCond %{ENV:HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ https://www.navanter.com/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ https://www.navanter.com/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]
?
答案 0 :(得分:5)
我最近遇到的一个令人讨厌的问题是assert (a=b)
。之所以如此特别讨厌是因为断言中所述的假设是两者已经相等,所以这种说法很可能是无害的。但是如果它们不是,那么这会让你进行讨厌的调试会话,因为调试版本在功能上与发布版本不同。