很多时候,当我使用拼写错误或其他类型的输入不匹配来编译某些东西时,我得到了标准的"错误:在...中没有匹配'functionname'"错误.这很棒.然后,特别是在重载函数和运算符的情况下,g ++继续并列出10页的候选者,这些页面只是可怕的和大量的模板定义.
错误消息很棒,但有没有办法禁止它建议其他功能变体?
所以我正在用White进行一些C#自动化/ UI测试,并且遇到了麻烦.我在应用程序中有一个DataGridView,我根据应用程序状态设置不同的背景单元格颜色.我想在使用White的测试期间检查这些颜色,但是我很难这样做.
这就是我想要做的工作.我可以获得网格视图,但只能作为表格.然后,我以后遇到问题因为我最终使用普通的TableCell而不是DataGridViewCells.
var Table = MainWindow.Window.Get<Table>("DataGridViewName");
var Row = Table.Rows[0];
var Cell = Row.Cells[0];
//invalid
//var Color = Cell.Style.BackColor;
Run Code Online (Sandbox Code Playgroud)
有没有人遇到这个或有任何建议?
所以我用g ++构建了一堆模块.我用-c命中了一些源文件来生成.o目标文件.然后我在某些点使用-r标志为ld组合目标文件以生成更多的.o文件.在这个过程的某个地方,没有包含一个功能.所以我要做的是找到一个查看.o文件的快速工具,并告诉我们当前未定义的引用.
或者我有两个文件,每个文件都有一个全局初始化.一个取决于另一个.
简化示例:
file1.h:
#include <string>
extern const std::string PREFIX;
Run Code Online (Sandbox Code Playgroud)
file1.cpp:
#include "file1.h"
const std::string PREFIX = "prefix,";
Run Code Online (Sandbox Code Playgroud)
file2.cpp:
#include "file1.h"
std::string MSG = PREFIX + "body";
int main(){}
Run Code Online (Sandbox Code Playgroud)
我这样编译它们:
/usr/local/bin/g++-4.6.2 -c -Wall -g -o file1.o file1.cpp
/usr/local/bin/g++-4.6.2 -c -Wall -g -o file2.o file2.cpp
/usr/local/bin/g++-4.6.2 -Wall -g -o example file1.o file2.o
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它会发生段错误.gdb跟踪:
Starting program: example
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7b7ae0b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
from /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.6.2/libstdc++.so.6
(gdb) bt
#0 0x00007ffff7b7ae0b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) …
Run Code Online (Sandbox Code Playgroud)